python中保序排序

2024-04-16 10:19:16 发布

您现在位置:Python中文网/ 问答频道 /正文

在保留初始顺序记录的情况下,按浮点数排序的最佳方法是什么。在

即排序a:

a=[2.3, 1.23, 3.4, 0.4]

返回类似

^{pr2}$

如果你明白我的意思。在


Tags: 方法排序顺序记录情况浮点数pr2
3条回答

如果已安装numpy

import numpy
a=[2.3, 1.23, 3.4, 0.4]
a_sorted = numpy.sorted(a)
a_order = numpy.argsort(a)
  • 使用enumerate生成序列号。在
  • 使用sortedkey按浮点数排序
  • 使用zip将顺序与值分开

例如:

a_order, a_sorted = zip(*sorted(enumerate(a), key=lambda item: item[1]))

你可以这样做:

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

如果需要索引以1开头而不是0,^{}接受第二个参数。在

相关问题 更多 >