y1 = [True, True, False, False]
y2 = [False, True, True, False]
y3 = y1 and y2
print(y3)
>>> [False, True, True, False]
这是怎么回事?操作中的第三项是 False
和 True
,这会导致 True
?
最佳答案
X 和 Y
计算为:
X
(如果X
为假)Y
(如果X
是truthy)
任何非空列表都是真实的。
如果
y1 = [True, True, False, False]
和
y2 = [False, True, True, False]
然后 y1 和 y2
的计算结果为 y2
,即 [False, True, True, False]
。
如果你想和
你列表中的个别元素,你可以用zip
来完成。和一个 list comprehension :
y3 = [x1 and x2 for x1,x2 in zip(y1,y2)]
关于Python 逻辑 `and` 比较列表返回错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50927994/