我需要对列表进行排序,然后返回带有列表中已排序项目索引的列表。例如,如果我要排序的列表是[2,3,1,4,5],则需要[2,0,1,3,4]返回。
[2,3,1,4,5]
[2,0,1,3,4]
这个问题以字节为单位发布,但我认为我会在这里重新发布。 http://bytes.com/topic/python/answers/44513-sorting-list-then-return-index- sorted-item
我的具体需求是根据对象的属性对对象列表进行排序。然后,我需要重新排序对应的列表以匹配新排序的列表的顺序。
有什么好方法吗?
您可以使用python sorting functions的key参数来对索引数组进行排序。
key
>>> s = [2, 3, 1, 4, 5, 3] >>> sorted(range(len(s)), key=lambda k: s[k]) [2, 0, 1, 5, 3, 4] >>>