【发布时间】:2015-10-12 12:39:59
【问题描述】:
我有一个这样的列表:
myList = [10,30,40,20,50]
现在我使用numpy's argsort 函数来获取排序列表的索引:
import numpy as np
so = np.argsort(myList)
这给了我输出:
array([0, 3, 1, 2, 4])
当我想使用 so 对数组进行排序时,它可以正常工作:
myArray = np.array([1,2,3,4,5])
myArray[so]
array([1, 4, 2, 3, 5])
但是当我将它应用到另一个列表时,它不起作用但会引发错误
myList2 = [1,2,3,4,5]
myList2[so]
TypeError:只有一个元素的整数数组可以转换为 索引
我现在如何使用so 对另一个列表进行排序,而不使用 for 循环并且不先将此列表转换为数组?
【问题讨论】: