2024-04-20 11:09:20 发布
网友
如果A和B是对应于相同(不同)元素的两个顺序的两个数组,则存在唯一的索引数组P,使得A[P]等于B。例如,如果A和B是
A
B
P
A[P]
A = ['b', 'c', 'e', 'd', 'a'] B = ['a', 'd', 'c', 'b', 'e']
那么所需的P是
P = [4, 3, 1, 0, 2]
numpy(或标准Python)有计算这样一个P的函数吗?你知道吗
使用Numpy
import numpy as np A = np.array(['b', 'c', 'e', 'd', 'a']) B = np.array(['a', 'd', 'c', 'b', 'e']) P = np.empty(len(A), int) P[B.argsort()] = A.argsort()
使用标准python
>>> A = ['b', 'c', 'e', 'd', 'a'] >>> B = ['a', 'd', 'c', 'b', 'e'] >>> P = [ A.index(i) for i in B ] >>> P [4, 3, 1, 0, 2]
使用Numpy
使用标准python
相关问题 更多 >
编程相关推荐