这是matlab代码:
A=[1,2,3,4];
B=[5,3];
bitxor(A,B')
它返回:
ans =
4 7 6 1
2 1 0 7
如何在没有循环的情况下使用numpy做到这一点?
答案 0 :(得分:6)
您想要np.bitwise_xor.outer(B, A)
或者,A ^ B[:,np.newaxis]
可以工作,这对于1D数组是相同的。 B[:,np.newaxis]
会生成一个形状为(2, 1)
的数组,该数组会A
与形状(4,)
进行广播,以根据需要生成形状(2, 4)
的输出。