4. 逻辑运算
由于
python
中的布尔运算使用and/or/not
关键字,因此它们无法被重载。numpy
提供的数组布尔运算只能通过ufunc
函数进行,这些函数以logical_
开头。进行逻辑运算时,对于数值零视作False
;对数值非零视作True
。运算结果也是一个布尔类型的数组:- 与:
ufunc
函数的形式:numpy.logical_and(x1,x2[,out=y])
- 或:
ufunc
函数的形式:numpy.logical_or(x1,x2[,out=y])
- 否定:
ufunc
函数的形式:numpy.logical_not(x[,out=y])
- 异或:
ufunc
函数的形式:numpy.logical_xor(x1,x2[,out=y])
- 与:
对于数组
x
,numpy
定义了下面的操作:numpy.any(x)
:只要数组中有一个元素值为True
(如果数值类型,则为非零),则结果就返回True
;否则返回False
numpy.all(x)
:只有数组中所有元素都为True
(如果数值类型,则为非零),则结果才返回True
;否则返回False