如何在Python中检查整个列表以获得条件

时间:2016-11-24 20:19:29

标签: list python-3.x loops

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

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

(对于每一个值,CheckStatus返回True或False,与outsidevalue相比,如果单个值返回True,则应该接受为真)

1 个答案:

答案 0 :(得分:1)

永远是假的:

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

因为您要将listboolean进行比较。

你想要的是any

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

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