使用列表元素在Python中过滤列表

时间:2016-04-19 19:10:52

标签: python filter

我有以下列表

list = ['Bucket1', 'ranbuck0', 'ranbuck1', 'ranbuck2', 'ranbuck3', 'ranbuck4', 'ranbuck5', 'ranbuck6', 'ranbuck7', 'ranbuck8', 'ranbuck9']

有没有办法过滤此列表并创建一个新列表,其中我有以“ranbuck”命名的元素。我无法弄清楚如何迭代ranbuck1,ranbuck2 a将这些附加到列表中。

先谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用list comprehension syntax of Python

new_list = [_ for _ in list if 'ranbuck' in _]

您还可以在列表推导中为临时变量引入自己的变量名,而不是_。除了'ranbuck' in _之外,您还可以写下另一个条件,即列表中的这个元素是否应该在新元素中。

答案 1 :(得分:0)

您可以按照mxscho或filter

的建议使用列表理解
source_list = ['Bucket1', 'ranbuck0', 'ranbuck1', 'ranbuck2',
               'ranbuck3', 'ranbuck4', 'ranbuck5', 'ranbuck6',
               'ranbuck7', 'ranbuck8', 'ranbuck9']

filtered_list = filter(lambda item: 'ranbuck' in item, source_list)

我将您的初始“列表”重命名为source_list,因为list是内置的python