如果我做的话,Python会返回
>>> (1==1 | 2==1)
False
但是
>>> (True | False)
True
为什么?
编辑:
是or
将解决'问题'。但我问为什么上面两个输出之间存在差异。答案是按位或具有优先权,如@MartijnPieters,@ Cong-Ma,@ Yohboy在评论中解释。
在Pandas例如,我们被迫使用按位运算符,因为python的标准逻辑运算符不起作用,所以在这些情况下我们应该小心做
>>> ((1==1) | (2==1))
答案 0 :(得分:2)
Python运算符|
不是逻辑或。尝试使用
(1==1 or 2==1)
代替。
答案 1 :(得分:-1)
|是不合逻辑的。 '或'是您要查找的关键字。