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

新手上路,请多包涵

这是我的代码的一部分:

 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 许可协议

阅读 344
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题