纯python
#异或
bool1^bool2
#或
bool1 | bool2
bool1 or bool2
#与
bool1 & bool2
bool1 and bool2
#非
not bool1
Numpy
异或 操作
cond1=np.array([True,False,True,True,False])
cond2=np.array([False,True,True,True,False])
cond1^cond2
#out:array([ True, True, False, False, False], dtype=bool)
np.bitwise_xor(cond1,cond2)
#out:array([ True, True, False, False, False], dtype=bool)
非
np.logical_not(cond1)
#out:array([False, True, False, False, True], dtype=bool)
~cond1
#out:array([False, True, False, False, True], dtype=bool)
与:&,或:|
布尔当作0、1处理
#int计算,Bool型计算过程可以看做是0或1
-True
#out:-1
result=1*(cond1^cond2)+2*(cond1 & cond2) +3*~(cond1|cond2)
#out:array([1, 1, 2, 2, 3])

本文探讨了Python与Numpy在逻辑运算上的差异,包括异或操作、非操作、与(&)和或(|)操作,并解释了在Numpy中如何将布尔值当作0和1处理。
411

被折叠的 条评论
为什么被折叠?



