Python自定义排序,由元组的两个元素区别

Mit*_*lad 3 python sorting integer tuples list

我是Python的自定义排序功能的新手,但我确信可以完成以下任务.我有一个元组列表,每个元组看起来像这样:

(some_int, some_int2, string)
Run Code Online (Sandbox Code Playgroud)

我想通过some_int和some_int2之间的下降差异对列表进行排序,即这两个整数之间的最大差异应该在列表的头部.可以安全地假设some_int2 总是大于some_int.

谢谢你们.

kin*_*all 7

mylist.sort(key=lambda t: t[0] - t[1])
Run Code Online (Sandbox Code Playgroud)

注意我将以"错误"顺序减去它们,这意味着差异将全部变为负数,从而将最大的数量排序到列表的开头.如果您愿意,您也可以按"正确"顺序减去它们并设置reverse=True:

mylist.sort(key=lambda t: t[1] - t[0], reverse=True)
Run Code Online (Sandbox Code Playgroud)

这可能更清楚,虽然有点冗长.