我有一个包含不同扩展名的文件列表。除此之外,我只想过滤那些扩展名为.bam
,.bai
,.vcf
等等的广告。有没有办法使用带有多个参数的endswith函数而不是多次重复它?
所以而不是:
for name in list:
if name.endswith('.bam') or name.endswith('.bai') or name.endswith('.bai'):
# do stuff
类似的东西:
for name in list:
if name.endswith(*['.bai', '.bam', '.vcf']):
# do stuff
答案 0 :(得分:7)
endswith
接受可能后缀的元组。所以它只是:
if name.endswith(('.bai','.bam','.vcf')):
https://docs.python.org/3/library/stdtypes.html#str.endswith