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

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

Mary-Kate Olsen
发布: 2024-11-25 19:28:17
原创
1035 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板