Python布尔"在"和"或"语句一起

Sph*_*ner 0 python boolean boolean-expression python-2.7

假设我想检查给定元组中是否存在两个给定元素中的任何一个,例如:

if foo in my_tuple or bar in my_tuple:
Run Code Online (Sandbox Code Playgroud)

是否有更多的pythonic方式来构建这个表达式?具体来说,如果我想检查几个元素,那么这些语句会变得烦人.我试过了

if (foo or bar) in my_tuple:
Run Code Online (Sandbox Code Playgroud)

但这会选择foo over bar并仅检查foo.将不胜感激.

Ror*_*ton 10

这是pythonic,可以工作:

if any(v in my_tuple for v in [foo, bar, eggs, spam, parrot, lumberjack]):
Run Code Online (Sandbox Code Playgroud)