如何检查列表是否包含布尔值

新手上路,请多包涵

这是我的代码的一部分:

 for d in errors[:]:
    if False in d:
        Ic.append(current_mA2)

这是在 errors

 [True, True, True, False, True, True, False, True,True,True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False,False]

我只想知道值 False 是否在列表中。

原文由 srky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 348
2 个回答

为什么不只是:

 if False in errors:
    Ic.append(current_mA2)

直接检查 False 是否在列表中。 list 实现了 __contains__ 魔术方法,所以你可以做到这一点。

原文由 midor 发布,翻译遵循 CC BY-SA 3.0 许可协议

没有人建议使用 all()此处 为 python 文档)。所有检查是否 将列表中的所有值解释为 True ,这意味着,如果其中至少一个为 False,它将返回 False:

 > a_list = [True, True, False]
> b_list = [True, True, True]
> all(a_list)
False
> all(b_list)
True

原文由 maykmayx 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题