所以我试图制作一行来检查Python列表中的单个元素是否符合条件,但是我的当前代码将保持循环,即使它达到“真”标记,因此只有最后一个元素计入支票:
if [[CheckStatus(value, outsidevalue)] for value in valuelist] is True:
magic
(对于每一个值,CheckStatus返回True或False,与outsidevalue相比,如果单个值返回True,则应该接受为真)
答案 0 :(得分:1)
永远是假的:
if [[CheckStatus(value, outsidevalue)] for value in valuelist] is True:
因为您要将list
与boolean
进行比较。
你想要的是any
:
if any(CheckStatus(value, outsidevalue) for value in valuelist):
any
迭代生成器理解,在所有元素上调用函数,直到找到True
(请注意,内部方括号已被删除,我们不需要创建列表解析,只是一个生成器理解,这更快)