numpy:将两个排列相乘

我有两个表示为Numpy数组的排列:

A:

     0  1  2  3
A = [1, 3, 2, 0]

和B:

     0  1  2  3
B = [0, 2, 1, 3]

我如何得到C = A * B,其中

0->1 * 1->2 = 2
1->3 * 3->3 = 3
2->2 * 2->1 = 1
3->0 * 0->0 = 0

C = (2, 3, 1, 0)

有效地使用Numpy?

解决方法:

很简单,b [a]将达到目的:

>>> import numpy as np
>>> a = np.array([1, 3, 2, 0])
>>> b = np.array([0, 2, 1, 3])
>>> c = b[a]
>>> print c
[2 3 1 0]
上一篇:如何使用PHP以任何顺序(从12个字母组成6个单词组成一个字母)进行字符搜索?


下一篇:递归打印字符串的所有排列(Javascript)