Python食谱(数据结构与算法)通过公共键对字典列表排序算法示例

  

本文实例讲述了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食谱(数据结构与算法)通过公共键对字典列表排序算法示例