(1 == 1 | 2 == 1)是假的?

时间:2018-02-16 15:34:39

标签: python

如果我做的话,Python会返回

>>> (1==1 | 2==1)
False

但是

>>> (True | False)
True

为什么?

编辑:

or将解决'问题'。但我问为什么上面两个输出之间存在差异。答案是按位或具有优先权,如@MartijnPieters,@ Cong-Ma,@ Yohboy在评论中解释。

在Pandas例如,我们被迫使用按位运算符,因为python的标准逻辑运算符不起作用,所以在这些情况下我们应该小心做

>>> ((1==1) | (2==1))

2 个答案:

答案 0 :(得分:2)

Python运算符|不是逻辑或。尝试使用

(1==1 or 2==1)

代替。

答案 1 :(得分:-1)

|是不合逻辑的。 '或'是您要查找的关键字。