Python實現(xiàn)的字典排序操作示例【按鍵名key與鍵值value排序】
本文實例講述了Python實現(xiàn)的字典排序操作。分享給大家供大家參考,具體如下:
對字典進行排序?這其實是一個偽命題,搞清楚python字典的定義---字典本身默認以key的字符順序輸出顯示---就像我們用的真實的字典一樣,按照abcd字母的順序排列,并且本質(zhì)上各自沒有先后關(guān)系,是一個哈希表的結(jié)構(gòu):
但實際應(yīng)用中我們確實有這種排序的“需求”-----按照values的值“排序”輸出,或者按照別的奇怪的順序進行輸出,我們只需要把字典轉(zhuǎn)化成list或者tuple,把字典每一對鍵值轉(zhuǎn)化為list中的兩位子list或者子tuple再輸出,就可以達到我們的目的:
舉例如下:
x={2:1,3:4,4:2,1:5,5:3} import operator sorted_x=sorted(x.items(),key=operator.itemgetter(0))#按照item中的第一個字符進行排序,即按照key排序 print x print sorted_x print dict(sorted_x)
輸出結(jié)果為:
{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}
[(1, 5), (2, 1), (3, 4), (4, 2), (5, 3)]
{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}
字典始終都按照key從小到大排序,與定義過程無關(guān),轉(zhuǎn)化為list嵌套tuple這里也依然按著key排序
x={2:1,3:4,4:2,1:5,5:3} import operator sorted_x=sorted(x.items(),key=operator.itemgetter(1))#這里改為按照item的第二個字符排序,即value排序 print x print sorted_x print dict(sorted_x)
輸出結(jié)果為:
{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}
[(2, 1), (4, 2), (5, 3), (3, 4), (1, 5)]
{1: 5, 2: 1, 3: 4, 4: 2, 5: 3}
字典的順序依舊不變,但轉(zhuǎn)化為list嵌套tuple格式之后,完成了按照value排序的操作
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程序設(shè)計有所幫助。
相關(guān)文章
python游戲?qū)崙?zhàn)項目之童年經(jīng)典超級瑪麗
史上十大最經(jīng)典小霸王游戲中魂斗羅只能排在第二,那么第一是誰?最經(jīng)典最風(fēng)靡的當(dāng)屬超級瑪麗,那個戴帽子的大胡子穿著背帶褲的馬里奧哪個不認得,小編帶你用python實現(xiàn)超級瑪麗緬懷童年2021-09-09python實現(xiàn)PolynomialFeatures多項式的方法
這篇文章主要介紹了python實現(xiàn)PolynomialFeatures多項式的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01解決import tensorflow導(dǎo)致jupyter內(nèi)核死亡的問題
這篇文章主要介紹了解決import tensorflow導(dǎo)致jupyter內(nèi)核死亡的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02