如何在 python 中使用 .endswith 函数测试多个条件
How to test several conditions with .endswith function in python
我有一个具有不同扩展名的文件列表。在这些中,我只想过滤掉扩展名为 .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
从 Python 2.5 开始,endswith
接受可能后缀的元组。所以它只是:
if name.endswith(('.bai','.bam','.vcf')):
https://docs.python.org/3/library/stdtypes.html#str.endswith
我有一个具有不同扩展名的文件列表。在这些中,我只想过滤掉扩展名为 .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
endswith
接受可能后缀的元组。所以它只是:
if name.endswith(('.bai','.bam','.vcf')):
https://docs.python.org/3/library/stdtypes.html#str.endswith