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

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

(some_int, some_int2, string)

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

谢谢你们.

解决方法:

mylist.sort(key=lambda t: t[0] - t[1])

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

mylist.sort(key=lambda t: t[1] - t[0], reverse=True)

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

上一篇:Python如何将dict列表转换为元组列表


下一篇:Python:获取元组列表中的最小整数