有没有更优雅的方式来写这个语句?我发现自己写了很多类似的东西。
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
元素则返回。
另一种方法(为了好玩):
if imagename[0].lower().split('.')[-1] in ('jpg','png','jpeg'):
# do something