首页 >后端开发 >Python教程 >如何使用'sorted()”和 Lambda 表达式按多个字段对 Python 列表进行排序?

如何使用'sorted()”和 Lambda 表达式按多个字段对 Python 列表进行排序?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-25 19:28:171073浏览

How to Sort a Python List by Multiple Fields Using `sorted()` and Lambda Expressions?

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

如果您有一个使用排序()从排序的 CSV 文件创建的列表,您可能需要按附加条件进一步对列表进行排序。要按两个字段对 Python 列表进行排序,您可以结合使用 Sorted() 函数和 lambda 表达式。

在您的情况下,您可以按字段 1 中的值对列表 list1 进行排序,然后按字段 1 中的值对列表 list1 进行排序。使用以下代码在字段 2 中获取值:

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

sorted() 中的 key 参数采用一个确定排序顺序的函数。在本例中,lambda 函数返回用于排序的值元组。元组的第一个元素是字段 1 中的值,第二个元素是字段 2 中的值。

要按一个字段升序、另一个字段降序排序,可以在 lambda 函数中使用负值。例如,要按字段 1 升序和字段 2 降序排序,请使用以下代码:

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

以上是如何使用'sorted()”和 Lambda 表达式按多个字段对 Python 列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

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