布尔数组元素的AND操作

时间:2015-01-25 05:56:52

标签: python boolean

我有一个可变长度的布尔数组,如下所示:

ARR = [True, False, True, False,...]

是否有最简单的方法(单行)对所有元素执行AND操作,如下所示?

ARR[0] and ARR[1] and ARR[2] and ARR[3] and ARR[*]...

3 个答案:

答案 0 :(得分:2)

有一个名为all的内置函数,它将and所有参数组合在一起。例如:

>>> ARR = [True, False, True, False,]
>>> all(ARR)
False

>>> ARR2 = [True, True, True,]
>>> all(ARR2)
True

更多

all的论点不一定是布尔值列表。只要python可以将其评估为true或false,就可以使用任何东西。例如:

>>> all([True, 10, 'name'])
True
>>> all([True, 0, 'name'])
False

答案 1 :(得分:1)

由于您希望完成and操作,如果列表中的所有元素都为True,则应返回True。所以这个简单的行将会:

print(False not in bool_list)

此行在给定列表中查找False,从而在技术上执行and操作

答案 2 :(得分:0)

你会使用for循环:

a = true
for x in ARR:
    if !x:
        a = false
print(a)

当然要在一行中执行此操作,您可以将其转换为函数并调用它。