0

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

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

我将如何创建一个仅包含 .txt 元素的新列表(这是运行 if 语句的结果,例如 if type==.txt)

4

4 回答 4

3

您可以使用列表推导:

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

另外,不要list用作变量名。您使内置list功能无法访问。

于 2013-04-14T04:48:46.883 回答
2
>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> [x for x in files if x.endswith('.txt')]
['abc.txt', 'def.txt']
于 2013-04-14T04:48:40.750 回答
0

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

于 2013-04-14T04:51:21.640 回答
0

只是添加另一种方法:

>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> result = filter(lambda x: x.endswith('.txt'), files)
>>> result
['abc.txt', 'def.txt']
于 2013-04-14T04:51:32.717 回答