【发布时间】:2017-06-29 18:54:03
【问题描述】:
这是matlab代码:
A=[1,2,3,4];
B=[5,3];
bitxor(A,B')
它返回:
ans =
4 7 6 1
2 1 0 7
如何在没有循环的情况下使用 numpy 来做到这一点?
【问题讨论】:
这是matlab代码:
A=[1,2,3,4];
B=[5,3];
bitxor(A,B')
它返回:
ans =
4 7 6 1
2 1 0 7
如何在没有循环的情况下使用 numpy 来做到这一点?
【问题讨论】:
你想要np.bitwise_xor.outer(B, A)
或者,A ^ B[:,np.newaxis] 可以工作,这对于一维数组是相同的。 B[:,np.newaxis] 生成一个形状为 (2, 1) 的数组,该数组根据需要对形状为 (4,) 的 A 进行广播,以生成形状为 (2, 4) 的输出。
【讨论】:
^ 与np.bitwise_xor 相同。
A^B.reshape(2,1) 有效,但为什么A^B.T 无效?