【问题标题】:How to check through an entire list in Python for a condition fulfillment如何在 Python 中检查整个列表是否满足条件
【发布时间】:2016-11-24 20:19:29
【问题描述】:

所以我试图做一行来检查 Python 列表中的单个元素是否符合条件,但我当前的代码将保持循环继续进行,即使它达到“True”标记,因此只有最后一个检查的元素计数:

if [[CheckStatus(value, outsidevalue)] for value in valuelist] is True:
    magic

(与外部值相比,CheckStatus 为每个单个值返回 True 或 False,如果单个值返回 True,则应该接受为 true)

【问题讨论】:

  • allany内置函数。

标签: list python-3.x loops


【解决方案1】:

那永远是假的:

if [[CheckStatus(value, outsidevalue)] for value in valuelist] is True:

因为您将listboolean 进行比较。

你要的是any:

if any(CheckStatus(value, outsidevalue) for value in valuelist):

any 迭代生成器推导,在所有元素上调用您的函数,直到找到True(请注意,里面的方括号已被删除,我们不需要创建列表推导,只需一个生成器理解,更快)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2016-05-30
    • 2020-07-28
    • 1970-01-01
    相关资源
    最近更新 更多