首页 > 解决方案 > 计算 numpy 数组三元组中前 2 个(二进制)值的异或

问题描述

我是 numpy 的新手,并且有一个 np.array,每个输入为 3 位,如下所示:

[[0 1 0]
 [1 0 1]
 [1 0 0]
 [0 1 1]
 [1 0 1]
 [0 1 0]
 [1 1 1]
 [1 0 0]
 [0 0 0]]

目标应该是另一个 numpy 数组中前两个输入位 (y = XOR(x0, x1)) 的 XOR。

[1, 1, 1, 1, 1, 1, 0, 1, 0]

标签: pythonnumpy

解决方案


使用np.bitwise_xor()

np.bitwise_xor(arr[:,0], arr[:, 1])

演示:

In [112]: np.bitwise_xor(arr[:,0], arr[:, 1])
Out[112]: array([1, 1, 1, 1, 1, 1, 0, 1, 0])

推荐阅读