2016-04-19 22 views
0

我有下面的列表过滤Python中的列表使用列表元素

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

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

由于提前

回答

0

您可以使用list comprehension syntax of Python

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

取而代之的是_的是你还可以在列表解析里的临时变量引入你自己的变量名。而不是'ranbuck' in _你也可以写下另一个条件,列表的这个元素是否应该在新的列表中。

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是内置

蟒蛇