按值对 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/