Multiple value checks using 'in' operator (Python)

前端 未结 7 1692
我寻月下人不归
我寻月下人不归 2020-11-29 07:37
if \'string1\' in line: ...

... works as expected but what if I need to check multiple strings like so:

if \'string1\' or \'string2         


        
7条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-29 08:22

    If you read the expression like this

    if ('string1') or ('string2') or ('string3' in line):
    

    The problem becomes obvious. What will happen is that 'string1' evaluates to True so the rest of the expression is shortcircuited.

    The long hand way to write it is this

    if 'string1' in line or 'string2' in line or 'string3' in line:
    

    Which is a bit repetitive, so in this case it's better to use any() like in Ignacio's answer

提交回复
热议问题