【发布时间】:2021-01-14 08:02:07
【问题描述】:
对于给定的列表:
list = ['enwiki-latest-stub-meta-history.xml.gz', 'enwiki-latest-stub-meta-history.xml.gz-rss.xml',
'enwiki-latest-stub-meta-history1.xml.gz', 'enwiki-latest-stub-meta-history1.xml.gz-rss.xml',
'enwiki-latest-stub-meta-history10.xml.gz', 'enwiki-latest-stub-meta-history10.xml.gz-rss.xml',
'enwiki-latest-stub-meta-history11.xml.gz', 'enwiki-latest-stub-meta-history11.xml.gz-rss.xml',
'enwiki-latest-stub-meta-history12.xml.gz', 'enwiki-latest-stub-meta-history12.xml.gz-rss.xml']
我想生成一个新列表,其中包含所有以 .gz 结尾的字符串
我试过这些:
generated_list = [l for l in list if re.compile(r".gz$") in l]
generated_list = [file.endswith('.gz') for file in files]
generated_list = [file for file in files if '.gz' in file]
上述方法似乎都不起作用,第二种方法有效但只产生布尔值。
【问题讨论】:
-
[file for file in files if file.endswith('gz')]
标签: python string list list-comprehension