numpy Matlab相当于`bitxor`之间的不同大小的矢量没有循环

时间:2017-06-29 18:54:04

标签: python matlab numpy xor

这是matlab代码:

A=[1,2,3,4];
B=[5,3];
bitxor(A,B')

它返回:

ans =

     4     7     6     1
     2     1     0     7

如何在没有循环的情况下使用numpy做到这一点?

1 个答案:

答案 0 :(得分:6)

您想要np.bitwise_xor.outer(B, A)

或者,A ^ B[:,np.newaxis]可以工作,这对于1D数组是相同的。 B[:,np.newaxis]会生成一个形状为(2, 1)的数组,该数组会A与形状(4,)进行广播,以根据需要生成形状(2, 4)的输出。