排序列表 Python

德鲁多克斯 lebowsky

我必须对这个 python 列表进行排序:

55.115783, 62.380159, 68.738354, 66.014074, 72.073756, 69.036055, 71.594129, 77.551457, 75.922748, 81.613726, 89.083050, 94.257211, 96.328673 ,102.489464, 111.449678, 118.870730

如果我尝试使用 list.sort() 我得到这个:

102.489464, 111.449678, 118.870730, 55.115783, 62.380159, 66.014074, 68.738354, 69.036055, 71.594129, 72.073756, 75.922748, 77.551457, 81.613726, 89.083050, 94.257211, 96.328673

我真的不知道为什么!!有人可以帮我一下!!

马茨林德

您的值按字符串排序 - 102vs5将根据1字符串中的第一个排序(因此将在 前面排序5) - 而不是数值。

解决这个问题的最简单方法是在调用中使用该float函数keysorted

>>> a = ['123', '6']
>>> sorted(a)
['123', '6']
>>> sorted(a, key=float)
['6', '123']

key参数采用一个函数,该函数将在确定排序值之前应用于每个条目,这将为您提供一个数字值作为排序依据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章