Python排序函数大全:sorted、sort、sort_values一次搞懂
一、序列排序 1. sorted()函数 先说sorted(),这是Python内置的一个排序函数,它不会动原来的序列,而是返回一个全新的排序后的列表。你只需要传入一个序列——列表、字典、元组、字符串都行,默认按升序排列。如果传的是字典,它返回的是键的列表。 list_1 = [2,5,3,9,6,
一、序列排序
1. sorted()函数
先说sorted(),这是Python内置的一个排序函数,它不会动原来的序列,而是返回一个全新的排序后的列表。你只需要传入一个序列——列表、字典、元组、字符串都行,默认按升序排列。如果传的是字典,它返回的是键的列表。

list_1 = [2,5,3,9,6,4,1,3,0,2]
sorted(list_1)
#输出:
[0, 1, 2, 2, 3, 3, 4, 5, 6, 9]
#降序排序
list_1 = [2,5,3,9,6,4,1,3,0,2]
sorted(list_1,reverse=True)
#输出
[9, 6, 5, 4, 3, 3, 2, 2, 1, 0]
dict_1 = {9:'banana',4:'pear',7:'apple'}
sorted(dict_1)
#输出
[4, 7, 9]
2. sort()方法
再来看sort(),它是列表专属的内建方法,直接在原列表上动手,排序后原列表就变了,不会生成新列表,也没有返回值。字典、元组、字符串就甭想用这个了。
list_2 = [3,6,9,1,4] list_2.sort() print(list_2) [1, 3, 4, 6, 9] #降序排序 list_2 = [3,6,9,1,4] list_2.sort(reverse = True) print(list_2) [9, 6, 4, 3, 1]
3. sort()方法和sorted()函数的区别
两个东西容易搞混,核心区别其实就两点:
- 是否改变原序列:
sort()会原地修改,sorted()则返回新序列,原序列不动。 - 调用方式不同:
sort()是序列.sort(),sorted()是sorted(序列, reverse=True/False)。
二、表中排序(Python—Pandas)
1. 按值排序
按照表中某一个字段的值进行排序
到了Pandas里,sort_values()是主力,它有点像SQL里的order by,可以指定按某列的数据排序,也可以按某行的数据排序。语法很直观:
DataFrame.sort_values(by='字段名',axis=0,ascending=True, inplace=False, na_position=‘last')
默认升序,ascending=True;想降序就改成False。
import pandas as pd
df=pd.DataFrame({'name':['张三','李四','王五'],
'class':[1,3,2],
'score':[98,94,100]})
print(df)
name class score
0 张三 1 98
1 李四 3 94
2 王五 2 100
print(df.sort_values(by = 'score'))
#降序排序将参数ascending = False 即可。
name class score
1 李四 3 94
0 张三 1 98
2 王五 2 100
2. 按索引排序
说白了,就是按行索引(index)或列索引(columns)的值来排序。举个例子:按行排序就是根据每行的索引值大小排,按列排序就是根据每列的列名大小排。
语法:
sort_index(axis=0, level=None, ascending=True, inplace=False, kind=‘quicksort', na_position=‘last',sort_remaining=True)
axis:0表示按行索引,1表示按列索引。level:如果有多级索引,可以指定按哪一级排。ascending:是否升序,默认True。inplace:是否原地修改,默认False。kind:排序算法,默认快速排序。
总结
以上就是Python里几种常用排序方式的用法,从内置的sorted、sort到Pandas里的sort_values、sort_index,理清它们各自的特点,用起来就不会出错了。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。


























