我在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个子列表。
我设法通过将总和存储在新列表中来实现,但有没有一种有效的方法对其进行排序而不创建它?
编辑:对不起,这确实是一个重复的问题。
答案 0 :(得分:4)
您可以使用您可以定义的特定键对列表进行排序:
l.sort(key=lambda x: x[0] + x[2])
答案 1 :(得分:2)