Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对元组列表进行排序,使键是元组中值的总和?_Python - Fatal编程技术网

Python 如何对元组列表进行排序,使键是元组中值的总和?

Python 如何对元组列表进行排序,使键是元组中值的总和?,python,Python,如果减法相等,则应根据第二个元素对列表进行排序排序(调用,key=lambda x:sum(x)) 我认为没有办法按照您的要求指定辅助排序参数,因此您必须对集合进行两次排序。首先按第二个元素的值对其排序,然后按总和再次排序。具有相同和的元素将保留第一个排序的顺序 编辑: 有一种方法可以指定多个排序键!您的lambda函数可以返回一个值元组。元组中的第一项是主排序键,第二项是辅助键,依此类推: sorted(调用,key=lambda x:(和(x),x[1])) 感谢@tzot的回答 我看不出你

如果减法相等,则应根据第二个元素对列表进行排序

排序(调用,key=lambda x:sum(x))

我认为没有办法按照您的要求指定辅助排序参数,因此您必须对集合进行两次排序。首先按第二个元素的值对其排序,然后按总和再次排序。具有相同和的元素将保留第一个排序的顺序

编辑: 有一种方法可以指定多个排序键!您的
lambda
函数可以返回一个值元组。元组中的第一项是主排序键,第二项是辅助键,依此类推:

sorted(调用,key=lambda x:(和(x),x[1]))


感谢@tzot的回答

我看不出你问题的内容与标题有什么关系。是的,这是项目的差异,而不是总和。让你的
lambda
返回
(和/差,秒值)
元组<如果第一个元素相等,则代码>元组
排序将使用第二个元素。
   b= sorted(calls,key=lambda x:x[0]-x[1] )