【问题标题】:Numpy: multiply two permutationsNumpy:乘以两个排列
【发布时间】:2012-11-06 23:25:27
【问题描述】:

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

答:

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

和乙:

     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?

【问题讨论】:

    标签: python numpy permutation


    【解决方案1】:

    很简单,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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 2015-07-03
      • 2017-04-04
      • 1970-01-01
      相关资源
      最近更新 更多