例如,如果我在这里有一个列表:
my_list=[abc.txt, def.txt, ghi.jpg]
我将如何创建一个仅包含 .txt 元素的新列表(这是运行 if 语句的结果,例如 if type==.txt)
例如,如果我在这里有一个列表:
my_list=[abc.txt, def.txt, ghi.jpg]
我将如何创建一个仅包含 .txt 元素的新列表(这是运行 if 语句的结果,例如 if type==.txt)
您可以使用列表推导:
new_list = [elem for elem in your_list if elem.endswith('.txt')]
另外,不要list
用作变量名。您使内置list
功能无法访问。
>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> [x for x in files if x.endswith('.txt')]
['abc.txt', 'def.txt']
list(filter(lambda string: string.endswith(".txt"), elements_list))
只是添加另一种方法:
>>> files = ['abc.txt', 'def.txt', 'ghi.jpg']
>>> result = filter(lambda x: x.endswith('.txt'), files)
>>> result
['abc.txt', 'def.txt']