我有一个值,val这是我想检查它是否是几个固定值(1,2,或3).通常我会这样做的方式是:
if val in [1,2,3]:
Run Code Online (Sandbox Code Playgroud)
但是,我只想包括3是否满足另一个条件(test).不合理地说,就是这样:
if val in [1,2,3] and (test if val == 3 else True):
Run Code Online (Sandbox Code Playgroud)
这是一个非常尴尬的比较(不是很可读),我正在测试val == 3两次,所以有没有办法一次性完成所有这些?(即更有效率)提前致谢,
if val in [1,2] or (val == 3 and test):
# do it
Run Code Online (Sandbox Code Playgroud)
效率更高,and更清晰.将or运算符表达式分为2部分,右部分仅在左侧进行评估False.从python文档:
表达式x或y首先评估x; 如果x为真,则返回其值; 否则,将评估y并返回结果值.
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |