Python代码阅读(第5篇):根据过滤器拆分列表
2021/10/9 13:18:44
本文主要是介绍Python代码阅读(第5篇):根据过滤器拆分列表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本篇阅读的代码实现了通过过滤器拆分列表的功能。
本篇阅读的代码片段来自于30-seconds-of-python。
bifurcate
def bifurcate(lst, filter): return [ [x for i, x in enumerate(lst) if filter[i] == True], [x for i, x in enumerate(lst) if filter[i] == False] ] # EXAMPLES bifurcate(['beep', 'boop', 'foo', 'bar'], [True, True, False, True]) # [ ['beep', 'boop', 'bar'], ['foo'] ]
bifurcate
函数通过一个过滤器filter
定义的内容,将输入列表lst
分成两组。将filter
中为True
的对应的lst
的项放入结果的第一个列表中,将filter
中为False
的对应的lst
的项放入结果的第二个列表中。
enumerate
enumerate(iterable, start=0)
enumerate
函数接收一个可迭代对象,并返回一个迭代对象。该迭代对象每次迭代返回一个元组,该元组包括一个序号和接收的可迭代对象的迭代值。start
参数用于设定序号的初始值,默认为0
。示例使用为:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
enumerate
函数的实现逻辑相当于如下代码:
def enumerate(sequence, start=0): n = start for elem in sequence: yield n, elem n += 1
列表推导式
该函数使用列表推导式判断lst
里面值对应位置的filter
的值,并生成对应的分组列表。
这篇关于Python代码阅读(第5篇):根据过滤器拆分列表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南