我试图找到一种方法使以下(示例)代码更优雅:
if answer == "yes" or "Yes" or "Y" or "y" or "why not":
print("yeah")
Run Code Online (Sandbox Code Playgroud)
用同样的方式用英语你不会说:
可能的答案是是或是或否或为什么不是.
你宁愿说:
可能的答案是肯定的,是的,Y或为什么不答案.
这样做更优雅的方式是什么?
提前致谢!!
选项1:answer in ["yes", "Yes", "Y", "y", "why not"]
......不是一个好主意,每次运行时都会建立一个列表.
选项2:answer in ("yes", "Yes", "Y", "y", "why not")
...更好的想法,(常量,不可变)元组是在编译时构建的.
选项3:执行一次:
allowables = set(["yes", "Yes", "Y", "y", "why not"])
然后在answer in allowables
每次需要时使用它.当允许值的数量很大时,这是最好的方法,或者允许值的集合在运行时可能会有所不同.
归档时间: |
|
查看次数: |
689 次 |
最近记录: |