我需要根据向量的最后一个元素对向量列表进行排序。我认为应该可以使用list.sort(key=something)
方法,但我发现的只是使用sorted()
函数的示例,而且我不清楚该键是如何指向最后一个元素矢量。
这是我的3个载体列表:
[ [1,2], [2,3], [3,1] ]
我需要使用每个向量的第二个元素对3个向量重新排序,结果应该产生以下结果
[ [3,1], [1,2], [2,3] ]
答案 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.sort
和sorted
之间的主要区别在于list.sort
获取列表并对其进行排序,而sorted
创建一个新的(已排序的)列表你传入的任意迭代。两者都接受一个key
参数,它在两种情况下都做同样的事情。