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

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

本文深入解析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 相关产品和应用

全部下载

专题列表