按列表列表中的最后一项排序

时间:2017-12-11 01:13:37

标签: python-3.x list sorting matrix

最后一项是指列表中包含的列表中的最后一项,以及根据内部列表的最后一个数量排序的列表。我知道,这令人困惑......这是一个例子

my_list = [[1,71,3],[141,2,5],[13,2,4],[1,20,1]]


def sort_function:
  pass
  #Sort code


print(sort_function(my_list))

>>> [[1,20,1],[1,71,3],[13,2,4],[141,2,5]]

我希望我用有限的模糊解释了我想要发生的事情。我正在为我的程序(一个小小的3D玩具项目)开发一个Z缓冲区,这是我能想到的全部工作。 (我有一个所有顶点的列表,我想先对它们进行排序,然后将它们加载到屏幕中)。由于我希望首先加载后面的那些,我将只用[:-1]或[-1:]或其他任何方式反转列表。

1 个答案:

答案 0 :(得分:5)

您可以使用lambda函数通过key参数进行排序:

my_list = [[1,71,3],[141,2,5],[13,2,4],[1,20,1]]
new_list = sorted(my_list, key=lambda x:x[-1])

输出:

[[1, 20, 1], [1, 71, 3], [13, 2, 4], [141, 2, 5]]