假设我想检查给定元组中是否存在两个给定元素,例如:
if foo in my_tuple or bar in my_tuple:
是否有更多的pythonic方式来构建此表达式?具体来说,如果我想检查几个元素,那么这些语句会变得烦人。我试过了
if (foo or bar) in my_tuple:
但是这会选择foo over bar并仅检查foo。非常感谢您的任何投入。
答案 0 :(得分:10)
这是pythonic,可以工作:
if any(v in my_tuple for v in [foo, bar, eggs, spam, parrot, lumberjack]):
答案 1 :(得分:3)
如果你需要比较很多元素,那么最好检查set
个对象的交集:
if {foo, bar, other_vars} & set(my_tuple):
但请注意,值应为hashable,否则,请查看Rory Daulton answer