我有两张单子:
names = ['albert', 'bob', 'charlie']
padded_names = ['albertGARBAGE', 'jamesTRASH', 'bobREFUSE', 'timRUBBISH', 'charlieWASTE']
我想要一个成员为['albertGARBABE', 'bobREFUSE', 'charlieWASTE']
的列表
查看其他线程,我看到使用filter()
函数完成了类似的任务,但我不知道如何将其应用于列表。我还可以迭代第一个列表并使用str.find()
,但我在这方面的运气也很有限
实际上,padded_names
是一个列表列表,但我可以操纵它
效率不是我关心的问题,所以难看的解决方案是有效的:)不幸的是,我正在开发的系统仅限于python2.6
你可以做得很简单:
可以转换成一个漂亮的python单行程序:
如果您想使用filter函数,您需要设计自己的方法,根据您的条件返回true:
使用
list comprehension
和startswith
:一个线性过滤器版本如下所示:
Filter有两个参数,一个函数(第一个参数)应用于(iterable)数据集(第二个数据集)
这将使用lambda创建一个自定义函数,用于检查名称是否出现在填充的\u名称中的每个名称中
相关问题 更多 >
编程相关推荐