处理Python列表中的布尔值

时间:2014-01-11 02:50:03

标签: python python-2.x

我正在使用python 2,我想在列表中的项目之间进行比较但是我被卡住了。这是问题所在:

x = [真,假,真,真,假]

如何获得处理布尔值的结果(True& False& True& True& False)?

之前感谢

2 个答案:

答案 0 :(得分:1)

试试这个:

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

我认为是这样的:

  

(True& False& True& True& False)

您正在寻找所有布尔值的交集。列表中的所有值都必须评估为Trueall(x)才能返回True

答案 1 :(得分:0)

如果我正确理解您的问题,您需要all function

x = [True, False, True, True, False]
all(x)

all函数在一个iterable中从左到右,并在布尔上下文中计算每个项。如果它达到任何False(或False - ish,如None)值,则会立即返回False,就像您已写出a and b and c and d一样用手。如果它只遇到truthy值,则返回True


相关:有一个类似的功能,称为any,使用or代替and执行相同的操作。因此,在您的情况下,all(x)会返回False,但any(x)会返回True,因为至少有一个真值。