在Python中对2D列表排序

在Python中对2D列表排序,python,list,sorting,Python,List,Sorting,我有一个2D列表: mylist = [[9,7, 2, 2], [1,8, 2, 2], [2,9, 2, 2]] 使用排序函数,列表按如下方式排序: [[1, 8, 2, 2], [2, 9, 2, 2], [9, 7, 2, 2]] [[9, 7, 2, 2],[1, 8, 2, 2], [2, 9, 2, 2]] 但我想对这个列表进行如下排序: [[1, 8, 2, 2], [2, 9, 2, 2], [9, 7, 2, 2]] [[9, 7, 2, 2],[1, 8, 2, 2

我有一个2D列表:

mylist = [[9,7, 2, 2], [1,8, 2, 2], [2,9, 2, 2]]
使用排序函数,列表按如下方式排序:

[[1, 8, 2, 2], [2, 9, 2, 2], [9, 7, 2, 2]]
[[9, 7, 2, 2],[1, 8, 2, 2], [2, 9, 2, 2]]
但我想对这个列表进行如下排序:

[[1, 8, 2, 2], [2, 9, 2, 2], [9, 7, 2, 2]]
[[9, 7, 2, 2],[1, 8, 2, 2], [2, 9, 2, 2]]
我想按最后一位数字排序,而不是列表的第一位数字, 就像使用排序函数一样,它按列表的第一位数字排序。 我想按最后一个数字排序,比如7比8小,所以7排在第一位。

使用
sorted()
lambda
试试这个

您可以尝试:

sorted(a,key=lambda a:list(reversed(a)))
输出:

[[9, 7, 2, 2], [1, 8, 2, 2], [2, 9, 2, 2]]

list.sort(key=lambda x:x[:-1])
?在您的答案中,您将其固定为第二个数字,我想通过从末尾查看对其进行排序。如果最后一个数字相同,则应查看最后一个数字。