“这是什么意思:key = lambda x:x [-1]?”

时间:2018-07-10 15:35:09

标签: python sorting lambda key

我知道a.sort(key=lambda x: x[1])表示它相对于第二个元素进行排序。
但是x[-1] ??
不应该只有两个配置x[0]x[1]吗?
还是我缺少明显的东西?
让我们考虑a = [(10, 4), (3, 5), (7, 1)]

2 个答案:

答案 0 :(得分:4)

Python能够从列表的end进行索引。因此,x[-1]指的是最后一个元素,x[-2]指的是倒数第二个元素,等等。

a.sort(key=lambda x: x[-1]) 

将根据最后一个元素对a进行排序。

>>> a = [(10, 4), (3, 5), (7, 1)]

>>> a.sort(key=lambda x: x[-1])
[(7, 1), (10, 4), (3, 5)]

答案 1 :(得分:0)

您正在按每个元组的最后一个元素进行排序(即,分别按4、5、1而不是10、3、7进行排序)