Python如何通过公共键对不同字典进行排序
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,这篇文章主要为大家展示了"Python如何通过公共键对不同字典进行排序",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Python如何通过公共键对不同字典进
千家信息网最后更新 2025年02月12日Python如何通过公共键对不同字典进行排序
这篇文章主要为大家展示了"Python如何通过公共键对不同字典进行排序",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Python如何通过公共键对不同字典进行排序"这篇文章吧。
利用 operator 模块中的 itemgetter 函数对这类结构进行排序。
rows = [{'fname': 'Brian', 'lname': 'Jones', 'uid': 1003},{'fname': 'David', 'lname': 'Beazley', 'uid': 1002},{'fname': 'John', 'lname': 'Cleese', 'uid': 1001},{'fname': 'Big', 'lname': 'Jones', 'uid': 1004}]
根据所有字典中共有的字段进行排序,字段可以是字典的键名称、用数字表示的列表元素或是任何可以传给对象的 __getitem__() 方法的值。
如果传多个标记给 itemgetter(),那么它产生的可调用对象将返回以个包含所有元素在内的元组,然后 sorted() 将根据对元组的排序结果来排序输出的结果。
from operator import itemgetterrows_by_fname = sorted(rows, key=itemgetter('fname'))rows_by_uid = sorted(rows, key=itemgetter('uid')) print(rows_by_fname) # [{'fname': 'Big', 'uid': 1004, 'lname': 'Jones'},# {'fname': 'Brian', 'uid': 1003, 'lname': 'Jones'},# {'fname': 'David', 'uid': 1002, 'lname': 'Beazley'},# {'fname': 'John', 'uid': 1001, 'lname': 'Cleese'}]print(rows_by_uid) # [{'fname': 'John', 'uid': 1001, 'lname': 'Cleese'},# {'fname': 'David', 'uid': 1002, 'lname': 'Beazley'},# {'fname': 'Brian', 'uid': 1003, 'lname': 'Jones'},# {'fname': 'Big', 'uid': 1004, 'lname': 'Jones'}]
当 itemgetter() 函数接受多个键时
rows_by_lfname = sorted(rows, key=itemgetter('lname', 'fname'))print(rows_by_lfname)# [{'fname': 'David', 'uid': 1002, 'lname': 'Beazley'},# {'fname': 'John', 'uid': 1001, 'lname': 'Cleese'},# {'fname': 'Big', 'uid': 1004, 'lname': 'Jones'},# {'fname': 'Brian', 'uid': 1003, 'lname': 'Jones'}]
同样 itemgetter() 也适用于 min() 和 max() 函数
>>> min(rows, key=itemgetter('uid')){'fname': 'John', 'lname': 'Cleese', 'uid': 1001}>>> max(rows, key=itemgetter('uid')){'fname': 'Big', 'lname': 'Jones', 'uid': 1004}
以上是"Python如何通过公共键对不同字典进行排序"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
排序
字典
不同
内容
函数
篇文章
元素
多个
字段
对象
结果
学习
帮助
名称
数字
方法
易懂
更多
条理
标记
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
公安网络安全教育整改情况怎么写
收粮数据库
山东省第二届网络安全大赛
如何找回数据库
网络安全技术水平能力存在不足
dba数据库专家讲堂
网络安全谁负责 时评
败笔网络安全小组队名和口号
cf连接服务器失败怎么搞
数据库的上传方式
济南华为信息与网络技术学院
青云传飞仙服和哪些服务器跨服
大连网络安全生产项目
数据库 一体机
培训教育网络安全意识
败笔网络安全技
5g网络技术行业应用分析
关系数据库最基本的规范条件
学网络安全需要到处出差吗
面向对象的软件开发过程包括
应用开发工具是数据库系统吗
管理中心服务器的是什么子系统
服务器配置管理报告
多线服务器和单线托管
浏览去器服务器
点军东土科技工业互联网产业园
安卓vr软件开发
星能的服务器地址
用科技互联网造句
海南大学网络安全实验班