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

Rawkintrevo

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

以下返回True了预期的结果,但似乎不是Python的。

什么是正确/更优雅的方法?

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]  ]
用户2555451

您可以使用all生成器表达式

all(1 in x for x in (a, b, c, d))

演示:

>>> 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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

查找值是否存在于多个列表中

测试列表是否存在于numpy ndarray中?

检查值是否已存在于字典列表中?

检查列表中的元素是否存在于python的多个列表中

如何检查列表值是否存在于也是列表的列值中

可以简化查找一个元素是否存在于多个列表中的问题?

测试是否存在于多字段中-CLIPS

TypeError:检查列表中的值是否存在于字典中时出错

尝试查看列表中的值是否存在于特定字段的mongoDB集合中

检查值是否存在于多个表中-Oracle SQL

查找列值是否存在于多个数据框中

检查一个值是否存在于两个或多个数组中

如何检查元素是否已存在于列表中

检查元素是否存在于Haskell的列表中

检查项目是否存在于 R 的嵌套列表中

验证字符串是否存在于列表中

LINQ查询以显示ID是否存在于列表中

函数检查元素是否存在于列表中

查看值是否存在于多个数组中,如果存在则更改一个数组中的值

IsEnabled 如果值存在于其他列表中

确定值是否存在于关联数组中

检查值是否已存在于Firebase中?

检查值是否存在于多维数组中

查找键和值对是否存在于json中

检查列值是否存在于字典[pandas]中

检查键及其值是否存在于对象中

如何检查值是否存在于struct中?

确定值是否存在于 R 中的分组数据框中的逻辑测试(整洁的解决方案)

检查数据框列中的值是否存在于列表中,并根据检查结果创建新列