このステートメントを書くためのよりエレガントな方法はありますか? 私は自分自身が似たようなものをかなりたくさん書いていることに気づきました。
if ('.jpg' in imagename[0].lower() or '.png' in imagename[0].lower() or '.jpeg'
in imagename[0].lower()):
このステートメントを書くためのよりエレガントな方法はありますか? 私は自分自身が似たようなものをかなりたくさん書いていることに気づきました。
if ('.jpg' in imagename[0].lower() or '.png' in imagename[0].lower() or '.jpeg'
in imagename[0].lower()):
あなたはおそらくしたいです
if imagename[0].lower().endswith((".jpg", ".jpeg", ".png")):
# whatever
str.endswith()
文字列のタプルを受け入れることに注意してください。また、このコードは、ファイル名の末尾にある言及された文字列をチェックするだけなので、あなたのものと同等ではないことに注意してください。
次のこともできます。
if any(ext in imagename[0].lower() for ext in ['.jpg', '.png', '.jpeg']):
any(boolean_list)
要素が含まれているTrue
場合に返します。boolean_list
True
もう1つの方法(楽しみのため):
if imagename[0].lower().split('.')[-1] in ('jpg','png','jpeg'):
# do something