这篇教程Python根据过滤器拆分列表写得很实用,希望能帮到您。
1. bifurcatedef 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] ]# EXAMPLESbifurcate(['beep', 'boop', 'foo', 'bar'], [True, True, False, True]) # [ ['beep', 'boop', 'bar'], ['foo'] ] bifurcate 函数通过一个过滤器filter 定义的内容,将输入列表lst分成两组。将filter 中为True 的对应的lst 的项放入结果的第一个列表中,将filter 中为False 的对应的lst的项放入结果的第二个列表中。
2. enumerateenumerate(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
3. 列表推导式该函数使用列表推导式判断lst 里面值对应位置的filter 的值,并生成对应的分组列表。 列表推导式的简单介绍可以查看:Python 实现过滤掉列表中唯一值的章节。 到此这篇关于Python根据过滤器拆分列表的文章就介绍到这了,更多相关Python根据过滤器拆分列表内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net! 人工智能学习pyTorch的ResNet残差模块示例详解 人工智能学习PyTorch实现CNN卷积层及nn.Module类示例分析 |