Skip to main content
 首页 » 编程设计

python之Python如何评估or语句中的多个条件

2025年05月04日10dflying

偶尔,我在想检查的地方遇到这个问题:

a = 'my string' 
if 'string1' in a or 'string2' in a or 'string3' in a ... or 'stringN' in a: 
    [[do something]] 
else: 
    [[something else]] 

假设我知道 'string1' in a 的计算结果为 True 的可能性为 90%。在 'string1' in a 为 True 的情况下,Python 是否仍会评估 'string2' in a?或者在技术上更有效地编写:

if 'string1' in a: 
    [[do something]] 
elif 'string2' in a: 
    [[do something]] 
elif 'string3' in a: 
    [[do something]] 
... 
elif 'stringN' in a: 
    [[do something]] 
else: 
    [[something else]] 

请您参考如下方法:

or and and both use short-circuiting ;他们只会评估确定结果所需的条件。因此,如果 'string1' in a 返回 True,则永远不会触及 'string2' in a。