根据If Statement的结果创建一个新List

时间:2013-04-14 04:47:21

标签: python list if-statement

例如,如果我在这里有一个列表:

my_list=[abc.txt, def.txt, ghi.jpg]

如何使用.txt元素创建一个新列表(这是运行if语句的结果,例如type ==。txt)

4 个答案:

答案 0 :(得分:3)

您可以使用列表理解:

new_list = [elem for elem in your_list if elem.endswith('.txt')]

此外,请勿使用list作为变量名称。您使内置的list函数无法访问。

答案 1 :(得分:2)

>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> [x for x in files if x.endswith('.txt')]
['abc.txt', 'def.txt']

答案 2 :(得分:0)

list(filter(lambda string: string.endswith(".txt"), elements_list))

答案 3 :(得分:0)

只是添加另一种方法:

>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> result = filter(lambda x: x.endswith('.txt'), files)
>>> result
['abc.txt', 'def.txt']