次のコードを書くpythonicの方法は何ですか?
extensions = ['.mp3','.avi']
file_name = 'test.mp3'
for extension in extensions:
if file_name.endswith(extension):
#do stuff
for
ループの明示的な宣言は避けて、条件に記述できるという漠然とした記憶がありif
ます。これは本当ですか?
あまり知られていませんが、str.endswithはタプルも受け入れます。ループする必要はありません。
>>> 'test.mp3'.endswith(('.mp3', '.avi'))
True
使用するだけです:
if file_name.endswith(tuple(extensions)):