本文实例讲述了Python通过公共键对字典列表排序算法。分享给大家供大家参考,具体如下:
想根据一个或多个字典中的值来对列表排序
利用算子模块中的<代码> itemgetter() 代码>函数对这类结构进行排序是非常简单的。
#排序的字典> 在在在================================重启================================在在在 按帧排序: [{“帧”:“大”,“lname”:“琼斯”,“uid”: 1004}, {“帧”:“布莱恩”、“lname”:“琼斯”,“uid”: 1003}, {“帧”:“大卫”,“lname”:“Beazley”、“uid”: 1002}, {“帧”:“约翰”,“lname”:“克里斯”,“uid”: 1001}] 按uid: [{“帧”:“约翰”,“lname”:“克里斯”,“uid”: 1001}, {“帧”:“大卫”,“lname”:“Beazley”、“uid”: 1002}, {“帧”:“布莱恩”、“lname”:“琼斯”,“uid”: 1003}, {“帧”:“大”,“lname”:“琼斯”,“uid”: 1004}] 按lname、帧: [{“帧”:“大卫”,“lname”:“Beazley”、“uid”: 1002}, {“帧”:“约翰”,“lname”:“克里斯”,“uid”: 1001}, {“帧”:“大”,“lname”:“琼斯”,“uid”: 1004}, {“帧”:“布莱恩”、“lname”:“琼斯”,“uid”: 1003}] 在在在 >之前
有时候会利用λ表达式来取代<代码> itemgetter() 代码>的功能:但是利用<代码> itemgetter() 代码>会运行的更快一些,所以考虑性能的话,应该使用<代码> itemgetter() 代码>。
rows_by_fname=排序(行,关键=λr: r(“帧”)) rows_by_uid=排序(行,关键=λr: r (“uid”)) >之前最后,本节展示的技术同样适用于<代码> min() 代码>和<代码> max() 代码>这样的函数:
在在在分钟(行,关键=itemgetter (uid)) {“lname”:“克里斯”,“帧”:“约翰”,“uid”: 1001} 在在在马克斯(行,关键=itemgetter (uid)) {“lname”:“琼斯”,“帧”:“大”,“uid”: 1004} 在在在itemgetter (“uid”) & lt;算子。在0 x023532f0> itemgetter对象; 在在在 >之前(代码摘自《Python食谱》)
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
Python食谱(数据结构与算法)通过公共键对字典列表排序算法示例