Python實現(xiàn)的字典排序操作示例【按鍵名key與鍵值value排序】
本文實例講述了Python實現(xiàn)的字典排序操作。分享給大家供大家參考,具體如下:
對字典進(jìn)行排序?這其實是一個偽命題,搞清楚python字典的定義---字典本身默認(rèn)以key的字符順序輸出顯示---就像我們用的真實的字典一樣,按照abcd字母的順序排列,并且本質(zhì)上各自沒有先后關(guān)系,是一個哈希表的結(jié)構(gòu):
但實際應(yīng)用中我們確實有這種排序的“需求”-----按照values的值“排序”輸出,或者按照別的奇怪的順序進(jìn)行輸出,我們只需要把字典轉(zhuǎn)化成list或者tuple,把字典每一對鍵值轉(zhuǎn)化為list中的兩位子list或者子tuple再輸出,就可以達(dá)到我們的目的:
舉例如下:
x={2:1,3:4,4:2,1:5,5:3}
import operator
sorted_x=sorted(x.items(),key=operator.itemgetter(0))#按照item中的第一個字符進(jìn)行排序,即按照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ìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python實現(xiàn)一行輸入多個整數(shù)并排序輸出
這篇文章主要介紹了python實現(xiàn)一行輸入多個整數(shù)并排序輸出方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
人臉檢測實戰(zhàn)終極之OpenCV+Python實現(xiàn)人臉對齊
這篇文章主要是為了演示如何使用 OpenCV、Python 和面部標(biāo)志從而實現(xiàn)對齊人臉。文中示例代碼對我們的工作或?qū)W習(xí)有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12
python經(jīng)典練習(xí)百題之猴子吃桃三種解法
這篇文章主要給大家介紹了關(guān)于python經(jīng)典練習(xí)百題之猴子吃桃三種解法的相關(guān)資料, Python猴子吃桃子編程是一個趣味性十足的編程練習(xí),在這個練習(xí)中,我們將要使用Python語言來模擬一只猴子吃桃子的過程,需要的朋友可以參考下2023-10-10
Python for循環(huán)通過序列索引迭代過程解析
這篇文章主要介紹了Python for循環(huán)通過序列索引迭代過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02
Python 正則表達(dá)式進(jìn)階用法之字符集與字符范圍詳解
本文詳細(xì)介紹了Python正則表達(dá)式中的字符集和字符范圍,包括字符集的基本概念、特殊字符、示例和注意事項,通過這些進(jìn)階用法,我們可以更高效地處理復(fù)雜的文本模式,感興趣的朋友跟隨小編一起看看吧2024-11-11
Python3自定義http/https請求攔截mitmproxy腳本實例
這篇文章主要介紹了Python3自定義http/https請求攔截mitmproxy腳本實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

