Python sorted() 函数按字典键值排序详解

陈默
陈默
发布时间:2026-10-14| 5人浏览过
原创

本文详细解析Python中sorted()函数对字典进行排序的方法。通过key参数指定排序依据,可实现按字典的键(key)或值(value)进行升序或降序排列。文章包含具体代码示例,演示如何对简单字典、嵌套元组列表及字符串列表进行自定义排序,帮助开发者掌握灵活的数据排序技巧。

Python sorted() 函数

sorted() 函数用于对所有可迭代对象执行排序操作。

sorted 语法如下:

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

参数说明:

iterable – 表示可迭代对象。

key – 主要用于指定比较的元素,该参数仅接受一个参数,其值取自可迭代对象中的元素,用于指定对哪个元素进行排序。

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

1、对字典按键(key)进行排序


dir_info= {'a':1,'d':8,'c':3,'b':5}
#对字典按键(key)进行排序(默认由小到大)
dir_sort = sorted(dir_info.items(),key=lambda x:x[0])
print(dir_sort)

输出结果: [('a', 1), ('b', 5), ('c', 3), ('d', 8)]

直接对字典的key排序


sorted({'a':1,'d':8,'c':3,'b':5}.keys())

2、对字典按值(value)进行排序


dir_info= {'a':1,'d':8,'c':3,'b':5}
#对字典按键(key)进行排序(默认由小到大)
dir_sort = sorted(dir_info.items(),key=lambda x:x[1])
print(dir_sort)

输出结果 [('a', 1), ('c', 3), ('b', 5), ('d', 8)]

直接对字典的value排序


sorted({'a':1,'d':8,'c':3,'b':5}.values())

解析:

dir_info.items() 用于获取字典的 key 和 value 两个参数。

dir_info[0] 表示按照第一个元素进行排序。

dir_info[1] 表示按照第二个元素进行排序。

为了便于理解,再举个例子


person_info = [('zhangsan', '男', 15), ('lisi', '男', 12), ('wangwu', '男', 10),]
person_sort = sorted(person_info, key=lambda x: x[2])
print(person_sort)

输出结果: [('wangwu', '男', 10), ('lisi', '男', 12), ('zhangsan', '男', 15)]

当然key的形式也是多样的 比如:

1.按照字符串长度进行排序


key = lambda x:len(x)

2.先按照第一个元素,再按照第二个元素:


key = lambda x : (x[0] , x[1])

扩展:

将列表中数据的某一部分作为关键字进行排序(选取标志性可用于排序的元素作为条件)


list_info = ['test-10.txt','test-11.txt','test-22.txt','test-14.txt','test-3.txt','test-20.txt']
list_sort = sorted(list_info, key=lambda d : int(d.split('-')[1].split('.')[0]))
print(list_sort)

输出结果 ['test-3.txt', 'test-10.txt', 'test-11.txt', 'test-14.txt', 'test-20.txt', 'test-22.txt']

以上就是Python教程按照字典的键或值进行排序方法解析的详细内容,更多关于Python按照字典的键或值进行排序的资料请关注本站其它相关文章!

相关标签:

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

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 算法库。