我如何按升序排序python?

时间:2017-03-24 00:52:32

标签: python sorting

我试图在列表中对值进行排序,但

  y =  [['22.344'], ['333.6575'], ['1.45'], ['122.56678'], ['33.768']]

当我使用此命令时

    y.sort(key=lambda x: x[0])

它没有按正确的升值值对值进行排序

[['1.45'], ['122.56678'], ['22.344'], ['33.768'], ['333.6575']]

我如何按升序排序?

2 个答案:

答案 0 :(得分:6)

它正在进行词典排序。

尝试改为:

y.sort(key=lambda x: float(x[0]))

答案 1 :(得分:1)

目前正在正确排序列表。这是因为'数字'在数组中实际上是字符串。排序字符串时,1位于2之前,这就是122.56678出现故障的原因。

如果您可以将字符串转换为数字,那么排序应该起作用