python對字典進行排序的方法有哪些?這個問題可能是我們日常學習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热?,讓我們一起來看看吧?/p>
創(chuàng)新互聯(lián)公司主要業(yè)務有網(wǎng)站營銷策劃、網(wǎng)站設計制作、成都網(wǎng)站建設、微信公眾號開發(fā)、微信平臺小程序開發(fā)、H5建站、程序開發(fā)等業(yè)務。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、成都全網(wǎng)營銷資源和合作伙伴關系資源,并逐漸建立起規(guī)范的客戶服務和保障體系。python如何對字典排序?
對字典進行排序?這其實是一個偽命題,搞清楚python字典的定義---字典本身默認以key的字符順序輸出顯示---就像我們用的真實的字典一樣,按照abcd字母的順序排列,并且本質上各自沒有先后關系,是一個哈希表的結構。
但實際應用中我們確實有這種排序的“需求”-----按照values的值“排序”輸出,或者按照別的奇怪的順序進行輸出,我們只需要把字典轉化成list或者tuple,把字典每一對鍵值轉化為list中的兩位子list或者子tuple再輸出,就可以達到我們的目的:
舉例如下:
d1 = {'a':1,'c':4,'b':2,'d':3} d2 = {2:1,3:4,4:2,1:5,5:3} d3 = {'01': {'name': '電腦', 'price': 3000}, '02': {'name': '鼠標', 'price': 50}, '03': {'name': '洗發(fā)水', 'price': 30}, '04': {'name': '微波爐', 'price': 998}, '05': {'name': '手機', 'price': 1500}}
需求一:按照字典的key/value進行排序輸出
方法一:使用sorted函數(shù)
sorted(d1.items(),key = lambda x:x[0],reverse = True) # reverse = True:是遞減順序輸出,不寫默認是升序輸出 key = lambda x:x[0]表示在d1.items()的輸出內容中的第一列作為排序依據(jù),如果是按照value排序則改成x[1]即可。
d1/d2字典比較簡單,都好理解,下面來看看如何對d3這種嵌套類型的字典進行排序:
sorted(d.items(),key=lambda x:x[1]['price'])
方法二:使用oprator內建模塊
import operator sorted(d1.items(),key = operator.itemgetter(1))
此模塊目前實驗對于d3這種數(shù)據(jù)結構尚未成功。
感謝各位的閱讀!看完上述內容,你們對python對字典進行排序的方法有哪些大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道。