Python使用lambda表達式對字典排序操作示例
本文實例講述了Python使用lambda表達式對字典排序操作。分享給大家供大家參考,具體如下:
lambda表達式也常用于字典排序,既然寫到字典排序,那就把按鍵排序和按值排序都寫寫好了。
字典按鍵排序
顯然按鍵排序,需要用字典中每個元素的第一項排序
dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7} sorted_dict_asc = sorted(dict.items(),key=lambda item:item[0]) sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[0],reverse=True)
輸出(第一個升序,第二個降序):
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 3), ('f', 1), ('g', 7)]
[('g', 7), ('f', 1), ('e', 3), ('d', 4), ('c', 3), ('b', 2), ('a', 1)]]
字典按值排序
需要使用字典中每個元素的第二項進行排序
dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7} sorted_dict_asc = sorted(dict.items(),key=lambda item:item[1]) sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[1],reverse=True)
輸出
[('f', 1), ('a', 1), ('b', 2), ('e', 3), ('c', 3), ('d', 4), ('g', 7)]
[('g', 7), ('d', 4), ('e', 3), ('c', 3), ('b', 2), ('f', 1), ('a', 1)]
字典的多條件排序
如上例子,我們想將字典按值排序,當值相等時我們按鍵排序,那么就是多條件排序。
dict = {'f':1,'b':2,'c':3,'d':4,'e':3,'a':1,'g':7} sorted_dict_asc = sorted(dict.items(),key=lambda item:(item[1],item[0])) sorted_dict_dsc = sorted(dict.items(),key=lambda item:(item[1],item[0]),reverse=True)
PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設計有所幫助。
相關(guān)文章
Python操作SQLite數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Python操作SQLite數(shù)據(jù)庫的方法,較為詳細的分析了Python安裝sqlite數(shù)據(jù)庫模塊及針對sqlite數(shù)據(jù)庫的常用操作技巧,需要的朋友可以參考下2017-06-06win8下python3.4安裝和環(huán)境配置圖文教程
這篇文章主要為大家詳細介紹了win8下python3.4安裝和環(huán)境配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Python利用hashlib實現(xiàn)文件MD5碼的批量存儲
這篇文章主要為大家詳細介紹了如何用Python和hashlib實現(xiàn)文件MD5碼的批量存儲功能,文中的示例代碼講解詳細,感興趣的小伙伴可以學習一下2023-05-05Python api構(gòu)建tensorrt加速模型的步驟詳解
小編個人認為python比c++更容易讀并且已經(jīng)有很多包裝很好的科學運算庫(numpy,scikit等),今天通過本文給大家分享Python api構(gòu)建tensorrt加速模型的步驟,感興趣的朋友一起看看吧2021-09-09Django模板報TemplateDoesNotExist異常(親測可行)
這篇文章主要介紹了Django模板報TemplateDoesNotExist異常(親測可行),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12使用Python下載歌詞并嵌入歌曲文件中的實現(xiàn)代碼
這篇文章主要介紹了使用Python下載歌詞并嵌入歌曲文件中的實現(xiàn)代碼,需要借助eyed3模塊,需要的朋友可以參考下2015-11-11