首页 >后端开发 >Python教程 >如何按多个字段对 Python 列表进行排序?

如何按多个字段对 Python 列表进行排序?

DDD
DDD原创
2024-11-18 08:35:021054浏览

How Can I Sort a Python List by Multiple Fields?

按多个字段对 Python 列表进行排序

使用排序列表时,可能需要按多个条件排序。当第一个排序键中有联系,并且您想使用第二个键来打破它们时,这一点就变得很重要。

要在 Python 中按两个字段对列表进行排序,可以将 lambda 函数与sorted() 结合使用功能。这允许您在单个表达式中指定多个排序键。

list1 = sorted(csv1, key=lambda x: (x[0], x[1]))

在此示例中,列表按字段 1 中的值排序,然后按字段 2 中的值排序。 lambda 函数采用该项目作为输入并返回第一个字段值和第二个字段值的元组。然后,sorted() 函数根据返回的元组对列表进行排序。

您还可以使用此技术按一个字段升序和另一个字段降序排序:

sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))

在此示例中,列表按第一个字段值排序,然后按第二个字段值降序排列(因为有负号)。当您想要按第二个字段中的最高值对第一个字段中的每个唯一值进行排序时,这会很有用。

以上是如何按多个字段对 Python 列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn