我有一个二维列表:
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]]
,我要用列表的最后一位而不是列表的第一位, 就像使用排序功能一样-它按列表的第一位排序。 我想按最后一位对它进行排序,例如7小于8和9,所以7在第一位。
答案 0 :(得分: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]]
答案 1 :(得分:3)
您可以尝试:
sorted(a,key=lambda a:list(reversed(a)))
输出:
[[9, 7, 2, 2], [1, 8, 2, 2], [2, 9, 2, 2]]