我试图在列表中对值进行排序,但
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']]
我如何按升序排序?
答案 0 :(得分:6)
它正在进行词典排序。
尝试改为:
y.sort(key=lambda x: float(x[0]))
答案 1 :(得分:1)
目前正在正确排序列表。这是因为'数字'在数组中实际上是字符串。排序字符串时,1位于2之前,这就是122.56678出现故障的原因。
如果您可以将字符串转换为数字,那么排序应该起作用