基本上,我希望文件名以扩展名列表中的扩展名结尾。 这是我用python编写的代码。 我取了一些示例文件名作为列表,如下所示:
extensions = ['.mp3','.m4a','.wma']
filenames = ['foo1.mp3','foo2.txt','foo3.m4a','foo4.mp4']
for filename in filenames:
for extension in extensions:
if filename.endswith(extension):
print filename
break
这是可行的,但我很想知道在python中是否有一种更高效或更短的方法来完成同样的事情。 谢谢你
您可以使用list comprehension来简洁地执行此操作:
工作原理:
这是一个列表理解,所以有趣的部分是在“如果”之后。在
我们使用f.rindex('.')来查找文件名中的最后一个点。然后我们用切片法把f的部分从那里切到最后。最后,“in extensions”只检查扩展名列表是否包含文件的扩展名。在
endswith
接受元组,因此非常简单:相关问题 更多 >
编程相关推荐