对列表中的子列表进行排序,Python

时间:2017-07-28 07:18:34

标签: python sorting

我在Python中有以下列表:

l = [[x_1,y_1,h_1,w_1], [x_2,y_2,h_2,w_2], ..., [x_n,y_n,h_n,w_n]] 

我需要按照子列表(x_i和h_i)中第一个和第三个元素之和的降序对其进行排序,然后得到前n个子列表。

我设法通过将总和存储在新列表中来实现,但有没有一种有效的方法对其进行排序而不创建它?

编辑:对不起,这确实是一个重复的问题。

2 个答案:

答案 0 :(得分:4)

您可以使用您可以定义的特定键对列表进行排序:

l.sort(key=lambda x: x[0] + x[2])

答案 1 :(得分:2)

转到以下链接,详细了解如何在python中进行排序

sorting in python

 a = sorted(l, key=lambda x: x[0] + x[2])