Python常见排序操作示例【字典、列表、指定元素等】

Mason
Mason
发布时间:2026-10-11| 2人浏览过
原创

本文详细解析Python中常见的排序操作,包括字典按key和value排序、列表升序与降序排序、列表去重后排序,以及根据指定列表顺序对字典列表进行排序。通过具体代码示例,帮助开发者快速掌握Python内置排序函数的多种应用场景。

字典按value排序

在Python中,可以使用 sorted() 函数对字典进行排序。默认情况下,sorted() 函数会对字典的键(key)进行排序。如果需要按值(value)排序,可以通过 lambda 函数指定排序键。例如,以下代码将字典按值进行降序排序:

d1 = {"name":"python","bank":"icbc","country":"china"}
# reverse是否倒序,x[1]代表value,x[0]为key
d1 = sorted(d1.items(),lambda x: x[1],reverse=True)

字典按key排序

如果需要对字典按键(key)进行排序,可以直接使用 sorted() 函数。以下代码将字典按键进行升序排序:

d1 = {"name":"python","bank":"icbc","country":"china"}
d1 = sorted(d1.items())

列表不去重排序

对于列表的排序,Python提供了 sorted() 函数。默认情况下,该函数会对列表进行升序排序。如果需要降序排序,可以设置 reverse=True 参数。以下代码展示了列表的升序和降序排序:

l = [3,2,4,5]
l = sorted(l)  # 升序
# l = sorted(l,reverse=True)  # 降序

列表去重排序

在对列表进行排序之前,有时需要先对列表进行去重处理。可以使用 set() 函数将列表转换为集合,从而去除重复元素。然后再将集合转换回列表并进行排序。以下代码展示了列表去重后的排序:

l = [3,2,3,5,1]
l = set(l)   # 使用set集合去重
l = list(l)   #
l = sorted(l)   # 排序

字典列表排序

当列表中的元素是字典时,可以根据字典中的某个键进行排序。例如,以下代码根据字典中的 age 键进行升序排序:

# 以age升序排序
L = [
  {"name":"python","age":12},
  {"name":"ghj","age":10},
  {"name":"java","age":17}
]
L = sorted(L,key=lambda x: x["age"])

根据指定列表元素顺序进行排序

在某些场景下,可能需要根据一个指定的列表顺序对另一个列表进行排序。例如,以下代码根据 sortList 中的ID顺序对 curList 进行排序:

# 指定列表,假设存储的是curList中的ID列表
sortList = ["4","3","5","2","1"]
# 当前列表
curList = [{"id":"1","province":"河南"},{"id":"2","province":"河北"},{"id":"3","湖南"},{"id":"4","province":"湖北"},{"id":"5","province":"江西"}]
# 根据指定列表中的ID顺序,对当前列表进行排序
curList = sorted(curList,key = lambda item:sortList.index(item["id"]))
print(curList)
# [{"id":"4","province":"湖北"},{"id":"3","province":"湖南"},{"id":"5","province":"江西"},{"id":"2","province":"河北"},{"id":"1","province":"河南"}]

以上就是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 算法库。