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

Cod*_*Boy 1 sorting list matrix python-3.x

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

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]]
Run Code Online (Sandbox Code Playgroud)

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

Aja*_*234 5

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

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

输出:

[[1, 20, 1], [1, 71, 3], [13, 2, 4], [141, 2, 5]]
Run Code Online (Sandbox Code Playgroud)