我试图按照每个元组包含的2个整数的总和按递减顺序对列表(其中元素是元组)进行排序
例如:
lst = [('firstWord', 4, 3), ('secondWord', 9, 3), ('thirdWord', 2, 6)]
我需要使用参数4 + 3 = 7,9 + 3 = 12,2 + 6 = 8进行排序,因此返回的列表将是
lst = [('secondWord', 9, 3), ('thirdWord', 2, 6), ('firstWord', 4, 3)]
答案 0 :(得分:1)
你可以使用lambda来添加最后两个元素,然后否定它以便你得到一个降序:
>>> lst = [('firstWord', 4, 3), ('secondWord', 9, 3), ('thirdWord', 2, 6)]
>>> sorted(lst, key=lambda x: -1 * (x[1] + x[2]))
[('secondWord', 9, 3), ('thirdWord', 2, 6), ('firstWord', 4, 3)]