排序列表列表的方法?

use*_*261 9 python sorting list

我有一个列表列表(不能是元组,因为我必须动态生成它)并且它被构造为一个int和一个float的列表列表如下所示:

[[1,1.0345],[2,5.098],[3,4.89],[2,5.97]]
Run Code Online (Sandbox Code Playgroud)

我想让它排序,但我只是设法获得内置排序功能,按列表的第一个元素排序或不做任何事情,但我需要按列表的第二个元素对它们进行排序,我不要我想实现自己的排序功能.所以我想要的一个例子是:

[[1,1.0345],[3,4.89],[2,5.098],[2,5.97]]
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何获得其中一个内置排序功能来执行此操作吗?

Ign*_*ams 21

传递key论点.

L.sort(key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)


Sen*_*ran 12

>>> l = [[1,1.0345],[2,5.098],[3,4.89],[2,5.97]]
>>> l.sort(key=lambda x: x[1])
>>> l
[[1, 1.0345], [3, 4.8899999999999997], [2, 5.0979999999999999], [2, 5.9699999999999998]]
Run Code Online (Sandbox Code Playgroud)