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



最后一项是指列表中包含的列表中的最后一个项目,这些列表是基于内部列表的最后一个数字。我知道,这很困惑...这是一个例子

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-Buffer,这就是我能想到的。(我有所有verticies的列表,我想先对其进行排序,然后将它们加载到屏幕中)。由于我想要首先加载的背面,因此我只会用[:-1]或[-1:]或其他任何内容反转列表。

您可以通过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]]

最新更新