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

时间:2017-04-04 14:17:01

标签: python list

这是我的代码的一部分:

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是否在列表中。

6 个答案:

答案 0 :(得分:1)

为什么不呢:

if False in errors:
    Ic.append(current_mA2)

直接检查False是否在列表中。 list实现了__contains__魔术方法,因此您可以这样做。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

怎么样

isFalseIn = False in errors

我认为可以。

答案 3 :(得分:0)

尝试any

any(lambda x: x == False, errors)

any检查集合中是否有与谓词匹配的元素。

正如其他人所指出的,在您的情况下,您可以使用:

if False in errors: 

答案 4 :(得分:0)

试试这个:

public abstract class Greeting
{ 
     public abstract String getHelloWorldMessage();
}

它将列表的布尔值转换为字符串,以便更改它们。如果字符串'false'出错,请执行任何操作。

答案 5 :(得分:-1)

也许你可以使用像

这样的标志变量
flag = false

然后你可以循环到数组并将每个数据与标志进行比较。