Python3 sorted() 函数详解与 sort() 方法对比

闻溪
闻溪
发布时间:2026-10-13 | 4人浏览过
原创

本文深入解析Python3中sorted()函数的使用方法,涵盖语法结构、参数详解及降序/升序排序技巧。通过字典排序等实际案例展示其应用,并详细对比sorted()与list.sort()在返回值、作用对象及内存影响上的核心区别,帮助开发者选择更高效的排序方案。

sorted()函数概述

概述

sorted() 函数能够对任何可迭代对象执行排序操作,并返回一个新的已排序列表。

sorted()语法与参数

语法格式

sorted(iterable, key=None, reverse=False)

参数说明: iterable:指定需要排序的可迭代对象。 key:定义用于比较的关键字,该参数接收一个单参数函数,该函数的输入来自可迭代对象中的元素,用于指定排序依据。 reverse:控制排序顺序,当 reverse=True 时为降序排列,当 reverse=False 时为升序排列(默认值)。

sorted()应用案例

应用案例


>>> a_dict={'A':2,'B':3,'C':4,'D':1,'E':5}
>>> sorted_a_dict = sorted(a_dict.items(), key = lambda x:x[1], reverse = True)
>>> sorted_a_dict
[('E', 5), ('C', 4), ('B', 3), ('A', 2), ('D', 1)]

## sorted() 函数对所有可迭代的对象进行排序操作,返回重新排序的列表
## items() 方法以列表返回可遍历的(键, 值) 元组数组。
## lambda 构造匿名函数,以元组中第二个元素作为排序依据,即x[1]
## reverse = True 表示降序排列
## 最后得到的 word_freq_dict 为按照频率倒叙排列的 (键, 值)元组 的列表

sort与sorted的区别

补充知识点:Python中sort方法与sorted函数的区别

sort与sorted的主要差异:

sort是列表(list)对象的方法,而sorted是内置函数,适用于所有可迭代对象。

list的sort方法直接在原列表上进行修改并返回None(即操作后列表本身已改变),而内置函数sorted则返回一个全新的排序后的列表,原列表保持不变。

语法与参数详解

语法定义

sorted函数的调用方式:sorted(iterable, cmp=None, key=None, reverse=False)

sort方法的调用方式:list.sort(cmp=None, key=None, reverse=False)

参数详细解释:

iterable:可迭代的对象。

cmp:比较函数,具体比较逻辑由key参数决定。例如:cmp(e1, e2) 是一个接收两个参数的比较函数,返回值规则为:负数表示 e1 < e2;0 表示 e1 == e2;正数表示 e1 > e2。

key:指定列表元素的某个属性或函数作为排序的关键字。

reverse:排序规则,当 reverse=True 时为降序,当 reverse=False 时为升序(默认值)。

核心区别: 对于无序列表a,执行 a.sort() 操作后,列表a本身被排序,sort()函数不返回新列表(返回None),而是直接修改原列表内容。

对于无序列表a,执行 sorted(a) 后,函数返回一个新的已排序列表,原列表a的内容和顺序不受任何影响。

示例代码:

总结

总结

至此,关于Python3中sorted()函数的用法介绍完毕。如需了解更多Python3 sorted()函数相关内容,欢迎查阅本站过往文章或继续浏览后续相关教程,感谢大家的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表