我正在使用python 2,我想在列表中的项目之间进行比较但是我被卡住了。这是问题所在:
x = [真,假,真,真,假]
如何获得处理布尔值的结果(True& False& True& True& False)?
之前感谢
答案 0 :(得分:1)
试试这个:
>>> x = [True, False, True, True, False]
>>> all(x)
False
我认为是这样的:
(True& False& True& True& False)
您正在寻找所有布尔值的交集。列表中的所有值都必须评估为True
,all(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
,因为至少有一个真值。