python - 在python中保留顺序的同时进行排序

标签 python sorting

按值对 float 列表进行排序的最佳方法是什么,同时仍保留初始顺序的记录。

即排序:

a=[2.3, 1.23, 3.4, 0.4]

返回类似的东西

a_sorted = [0.4, 1.23, 2.3, 3.4]
a_order = [4, 2, 1, 3]

如果你明白我的意思。

最佳答案

你可以这样做:

>>> sorted(enumerate(a), key=lambda x: x[1])
[(3, 0.4), (1, 1.23), (0, 2.3), (2, 3.4)]

如果您需要索引以 1 而不是 0 开头,enumerate接受第二个参数。

关于python - 在python中保留顺序的同时进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3728017/

相关文章:

python - 使用 python inspect 查看函数中的局部变量

sorting - 对字符串数组进行排序的复杂性

qt - 如何用我自己的代码对 QTableWidget 进行排序?

sql - 在第一个结果后更改排序标准

JavaScript 按日期排序

java - 排序 ArrayList<CustomObject>

python - IntegrityError Question_question.pub_date 不能为 NULL

python - 在 Python 中编写自定义矩阵类,__setitem__ 问题

Python:确定列表的所有项目是否都是同一个项目

python - 从 Python 运行 powershell 脚本而无需在每次运行时重新导入模块