Python逻辑并返回错误结果
作者:互联网
y1=[True, True, False, False]
y2=[False, True, True, False]
y3=y1 and y2
print(y3)
结果:
[False, True, True, False]
这里发生了什么?运算中的第三个项目为False和True,结果为True?
解决方法:
如果X为假,则X和Y求值为X,如果X为真,则Y为Y.
任何非空列表都是真实的.
因此,如果
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)]
标签:boolean-logic,python 来源: https://codeday.me/bug/20191108/2010370.html