Python中的 numpy.logical_xor()
numpy.logical_xor(arr1, arr2, out=None, where = True, cast = 'same_kind', order = 'K', dtype = None, ufunc 'logical_xor') :这是一个逻辑函数,它可以帮助用户找出arr1 XOR arr2 element-wise 的真值。两个阵列必须具有相同的形状。
参数 :
arr1 : [array_like]Input array.
arr2 : [array_like]Input array.
out : [ndarray, optional]Output array with same dimensions as Input array, placed with result.
**kwargs : allows you to pass keyword variable length of argument to a function. It is used when we want to handle named argument in a function.
where : [array_like, optional]True value means to calculate the universal functions(ufunc) at that position, False value means to leave the value in the output alone.
返回 :
An array with Boolean results of arr1 XOR arr2 element-wise(of the same shape).
代码 1:工作
# Python program explaining
# logical_xor() function
import numpy as np
# input
arr1 = [1, 3, False, 0]
arr2 = [3, 0, True, False]
# output
out_arr = np.logical_xor(arr1, arr2)
print ("Output Array : ", out_arr)
输出 :
Output Array : [False True True False]
代码 2:如果输入数组的形状不同,则值错误
# Python program explaining
# logical_xor() function
import numpy as np
# input
arr1 = [8, 2, False, 4]
arr2 = [3, 0, False, False, 8]
# output
out_arr = np.logical_xor(arr1, arr2)
print ("Output Array : ", out_arr)
输出 :
ValueError: operands could not be broadcast together with shapes (4,) (5,)
代码3:可以检查条件
# Python program explaining
# logical_xor() function
import numpy as np
# input
arr1 = np.arange(8)
print ("arr1 : ", arr1)
print ("\narr1>3 : \n", arr1>3)
print ("\narr1<6 : \n", arr1<6)
print ("\nXOR Value : \n", np.logical_xor(arr1>3, arr1<6))
输出 :
arr1 : [0 1 2 3 4 5 6 7]
arr1>3 :
[False False False False True True True True]
arr1<6 :
[ True True True True True True False False]
XOR Value :
[ True True True True False False True True]
参考 :
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.logical_xor.html#numpy.logical_xor
.