如何返回排序列表的索引?

发布于 2021-01-29 19:36:51

我需要对列表进行排序,然后返回带有列表中已排序项目索引的列表。例如,如果我要排序的列表是[2,3,1,4,5],则需要[2,0,1,3,4]返回。

这个问题以字节为单位发布,但我认为我会在这里重新发布。
http://bytes.com/topic/python/answers/44513-sorting-list-then-return-index-
sorted-item

我的具体需求是根据对象的属性对对象列表进行排序。然后,我需要重新排序对应的列表以匹配新排序的列表的顺序。

有什么好方法吗?

关注者
0
被浏览
67
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用python sorting functions的key参数来对索引数组进行排序。

    >>> s = [2, 3, 1, 4, 5, 3]
    >>> sorted(range(len(s)), key=lambda k: s[k])
    [2, 0, 1, 5, 3, 4]
    >>>
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看