您可以使用all https://docs.python.org/3/library/functions.html#all and a 生成器表达式 https://docs.python.org/3/reference/expressions.html#grammar-token-generator_expression:
all(1 in x for x in (a, b, c, d))
Demo:
>>> a = [1 ,2]
>>> b = [1, 3]
>>> c = [1, 4]
>>> d = [2, 5]
>>> all(1 in x for x in (a, b, c, d))
False
>>> all(1 in x for x in (a, b, c))
True
>>>
除了更具可读性之外,该解决方案还更高效,因为它使用惰性求值。它只会检查确定结果所需的项目。
而且,永远没有充分的理由这样做:
True if 1 in l else False
或类似的东西,因为in
已经返回一个布尔结果。所有你需要的是:
1 in l
对于否定版本,请使用:
1 not in l