在Python中对2D列表进行排序

tar*_*967 4 python sorting list

我有一个2D列表:

mylist = [[9,7, 2, 2], [1,8, 2, 2], [2,9, 2, 2]]
Run Code Online (Sandbox Code Playgroud)

使用排序功能,列表的排序方式如下:

[[1, 8, 2, 2], [2, 9, 2, 2], [9, 7, 2, 2]]
Run Code Online (Sandbox Code Playgroud)

但我想这样排序这个列表:

[[9, 7, 2, 2],[1, 8, 2, 2], [2, 9, 2, 2]]
Run Code Online (Sandbox Code Playgroud)

而不是列表的第一个数字,我想用最后一个数字排序,就像使用排序函数 - 它按列表的第一个数字排序.我想按最后一个数字排序,比如7小于8和9,所以7先来.

Nid*_*eev 5

使用sorted()lambda 尝试此

In [1]: a=[[9, 7, 2, 2],[1, 8, 2, 2], [2, 9, 2, 2]]
In [4]: sorted(a,key=lambda a:a[::-1])
Out[4]: [[9, 7, 2, 2], [1, 8, 2, 2], [2, 9, 2, 2]]
Run Code Online (Sandbox Code Playgroud)