Python如何评估或声明多个条件?

mgo*_*ser 1 python boolean-logic conditional-statements

偶尔,我有这个问题,我想检查:

a = 'my string'
if 'string1' in a or 'string2' in a or 'string3' in a ... or 'stringN' in a:
    [[do something]]
else:
    [[something else]]
Run Code Online (Sandbox Code Playgroud)

假设我知道有90%的机会'string1' in a评估True.Python是否还会评估'string2' in a在这种情况下'string1' in aTrue哪个?或者在技术上写作更有效:

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]]
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 9

orand都使用短路 ; 他们只会评估确定结果所需的条件.所以,如果'string1' in a退货True,'string2' in a永远不会被触及.