Python:集合的布尔求值

问题描述 投票:0回答:1

已知:x = set((1,2,3,4)) 如果我运行:x and 1,为什么结果是1?

我知道非空集合为True,所以x和1本质上是True和True。那么,为什么结果是1,为什么不返回set,这也是True?

谢谢!

我只是想明白,当 1 是针对另一个 True 对象进行布尔计算时,为什么返回 1 而不是另一个 True 对象。

python boolean
1个回答
0
投票

and
or
实际上返回值。

如果您评估

a and b and c and ...
,如果其中一个为假,则返回第一个“假”值;如果全部为真,则返回最后一个值。

如果你打电话

a or b or c or ... 
则恰恰相反。如果其中任何一个为 true,则返回第一个“true”值;如果全部为 false,则返回最后一个值。

您已经知道除 True 和 False 之外的对象是“真”和“假”。

© www.soinside.com 2019 - 2024. All rights reserved.