Python sorted函数详解:参数解析与嵌套列表排序实战

何川
何川
发布时间:2026-10-13| 5人浏览过
原创

本文深入解析Python内置sorted函数的语法结构,详细阐述iterable、cmp、key及reverse四个参数的作用与默认值。针对包含元组的嵌套列表排序难题,提供两种高效解决方案:通过自定义函数指定key值,以及利用lambda表达式简化代码。结合具体代码示例,演示如何实现按年龄等特定字段对数据进行精准排序,帮助开发者掌握灵活的数据处理技巧。

Python sorted函数基础语法与参数解析

在对列表进行排序操作时,sorted函数是一个极具实用价值的工具,其基本语法结构如下所示:

sorted(iterable[, cmp[,key[,reverse]]])

sorted函数的具体定义规范为:

  • sorted( iterable[, cmp[, key[, reverse]]])
  • iterable:表示可迭代的对象类型;
  • cmp:用于定义比较逻辑的函数,其比较依据由key参数决定,该参数具有默认值,指向迭代集合中的某一项;
  • key:指定以列表元素的特定属性或函数作为排序关键字,同样拥有默认值,指向迭代集合中的一项;
  • reverse:控制排序方向,设置为True表示降序,设置为False表示升序,系统默认值为False。
  • 返回值:返回一个经过排序的可迭代类型,其类型与输入的iterable保持一致。对于简单的列表排序,操作十分便捷,直接调用sorted(list)即可返回排序后的列表结果。然而,当列表中嵌套了元组时,则需要采用特殊的方法来处理排序问题。

嵌套元组列表的排序解决方案

问题描述:

给定如下列表数据:

list_example = [('John', 35), ('Jack', 32), ('Michael', 28), ('Sean', 20)]

输出要求:

[('Sean', 20), ('Michael', 28), ('Jack', 32), ('John', 35)]

解决方法:

1. 通过传入自定义函数给key参数来完成排序操作;

2. 直接使用lambda匿名函数进行排序;

方法1的具体代码如下:


def revsort(oldlist):
 return oldlist[::-1]
def by_age(li):
 return sorted(li, key = revsort)

方法2的具体代码如下:


def by_age(li):
 return sorted(li, key = lambda x: x[1])

直接执行print语句即可得到预期结果:

print(by_age(list_example))

以上就是本文的全部内容,希望对各位的学习有所帮助,同时也欢迎大家继续支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。