排序方法中的关键功能

时间:2015-01-31 03:15:17

标签: python sorting methods key

我需要根据向量的最后一个元素对向量列表进行排序。我认为应该可以使用list.sort(key=something)方法,但我发现的只是使用sorted()函数的示例,而且我不清楚该键是如何指向最后一个元素矢量。

这是我的3个载体列表:

[ [1,2], [2,3], [3,1] ]

我需要使用每个向量的第二个元素对3个向量重新排序,结果应该产生以下结果

[ [3,1], [1,2], [2,3] ]

1 个答案:

答案 0 :(得分:1)

当然可以这样做。

lst = [ [1,2], [2,3], [3,1] ]
def last_val_key(vec):
    return vec[-1]
lst.sort(key=last_val_key)
print lst

请注意,list.sortsorted之间的主要区别在于list.sort获取列表并对其进行排序,而sorted创建一个新的(已排序的)列表你传入的任意迭代。两者都接受一个key参数,它在两种情况下都做同样的事情。