当前位置: 首页 > 面试题库 >

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

阎嘉荣
2023-03-14
问题内容

我需要对列表进行排序,然后返回带有列表中已排序项目索引的列表。例如,如果我要排序的列表是[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参数来对索引数组进行排序。

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


 类似资料:
  • 如果索引i处的子列表(如果有的话)按升序排列(每个项小于或等于下一项),如何返回true;否则为假。这就是我到目前为止所做的。然而,我似乎无法通过考试

  • 问题内容: 在hive中,我希望对从最大到最小的数组进行排序,并获得索引数组。 例如,该表是这样的: 我要得到这个: 结果中的arries是初始元素的索引。我怎样才能做到这一点? 问题答案: 使用posexplode爆炸数组以获取索引和值,按值排序,收集索引数组: 经过测试,结果:

  • 问题内容: 用Python的方式搜索或操作排序序列是什么? 问题答案: 是标准库的一部分-您正在寻找这种东西吗?

  • 我正试图编写一个单元测试来测试两个列表的排序。我所做的是调用自定义排序比较器,然后将原始列表与排序列表进行比较。然后,我使用assertEquals来测试排序的列表和原始列表是否匹配。 假设我有一个简单的模型...病人。 控制台以相同的顺序输出这些列表,但assertEquals返回false。我甚至尝试以相同的顺序创建两个完全相同的列表,并尝试assertEquals,但它仍然返回false。

  • 我有一个,我希望在其中返回字符串值的列表,但按int键的升序/降序排序。如果返回的是我也希望排序的迭代项,例如返回或列表,那么这将很容易,但是我想不出一种方法来做到这一点,除了在使用遍历整个映射并插入值以从映射键索引(如下面所示)之后手动创建一个列表,然后在该列表中嵌套另一个以消除任何空值之外。 请告诉我有更好更有效的方法吗?任何帮助都是非常感谢的!

  • 我的代码是用Python3编写的,目的是打印回文。它应该遍历2个3位数字的所有回文积,如下所示: 注意注释掉的打印。当这还在的时候,本该打印出来的回文都出来了。当我运行代码时,没有语句,控制台只打印出“none”。 据我所知,我的逻辑是正确的,那么为什么会发生这种情况呢?编辑:同样,当我对我的列表进行逆序排序时,99999排在第一位。我认为这是因为python看着连续的9并认为它是最大的。但是,有