Как проверить несколько условий с помощью функции.endswith в python
У меня есть список файлов с разными расширениями. Из тех, что я хочу отфильтровать только те, с расширением .bam
, .bai
, .vcf
и еще немного. Есть ли способ сделать это, используя функцию конца с несколькими аргументами, вместо того, чтобы повторять это несколько раз?
Так что вместо:
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
1 ответ
Решение
endswith
принимает набор возможных суффиксов, начиная с Python 2.5. Так что это просто:
if name.endswith(('.bai','.bam','.vcf')):