我有一个类似这样的列表:
myList = [10,30,40,20,50]
现在我使用
numpy
的argsort
函数来获取排序列表的索引:import numpy as np
so = np.argsort(myList)
这将会给我输出:
array([0, 3, 1, 2, 4])
当我想要使用sort
对数组进行排序时,它可以正常工作:
myArray = np.array([1,2,3,4,5])
myArray[so]
array([1, 4, 2, 3, 5])
但是当我将它应用到另一个列表时,它却无法工作并且抛出错误。
myList2 = [1,2,3,4,5]
myList2[so]
类型错误:只有包含一个元素的整数数组可以转换为索引。
我如何在不使用for循环并且不先将此列表转换为数组的情况下,现在使用so
来对另一个列表进行排序?