我目前正在这样做:
if x in a and y in a and z in a and q in a and r in a and s in a:
print(b)
有没有更 Pythonic 的方式来表达这个 if
语句?
最佳答案
使用 all函数允许以一种简洁紧凑的方式编写它:
if all(i in a for i in (x, y, z, q, r, s)):
print b
即使对象不可散列或者 a
对象有一些有趣的 __contains__
方法,这段代码也应该与您的示例几乎完全相同。 all
函数也有类似的short-circuit行为作为原始问题中的 和
链。在一个元组(或一个列表)中收集所有要测试的对象将保证测试的执行顺序与原始问题中的相同。如果你使用一套,顺序可能是随机的。
关于python - 以pythonic方式测试所有值是否都在可迭代中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31484585/