Python 测试值是否存在于多个列表中

Python 测试值是否存在于多个列表中,python,list,list-comprehension,boolean-logic,Python,List,List Comprehension,Boolean Logic,我想检查每个列表中是否存在一个值 下面返回的True与预期一致,但似乎不符合pythonic 这样做的正确/更优雅的方式是什么 a = [1 ,2] b = [1, 3] c = [1, 4] d = [2, 5] False in [True if 1 in l else False for l in [a, b, c, d] ] 您可以使用和: 演示: 除了更具可读性之外,该解决方案还更有效,因为它使用了惰性计算。它将只检查确定结果所需的所有项目 此外,从来没有好的理由这样做: Tru

我想检查每个列表中是否存在一个值

下面返回的
True
与预期一致,但似乎不符合pythonic

这样做的正确/更优雅的方式是什么

a = [1 ,2]
b = [1, 3]
c = [1, 4]
d = [2, 5]

False in [True if 1 in l else False for l in [a, b, c, d]  ]
您可以使用和:

演示:

除了更具可读性之外,该解决方案还更有效,因为它使用了惰性计算。它将只检查确定结果所需的所有项目

此外,从来没有好的理由这样做:

True if 1 in l else False
或者类似的内容,因为中的
已返回布尔结果。您所需要的只是:

1 in l
对于否定版本,请使用:

1 not in l
1 in l
1 not in l