午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

Python OrderedDict字典排序方法詳解

瀏覽:156日期:2022-07-25 08:22:27

很多人認為python中的字典是無序的,因為它是按照hash來存儲的,但是python中有個模塊collections(英文,收集、集合),里面自帶了一個子類

OrderedDict,實現了對字典對象中元素的排序。請看下面的實例:

import collectionsprint 'Regular dictionary'd={}d[’a’]=’A’d[’b’]=’B’d[’c’]=’C’for k,v in d.items(): print k,vprint 'nOrder dictionary'd1 = collections.OrderedDict()d1[’a’] = ’A’d1[’b’] = ’B’d1[’c’] = ’C’d1[’1’] = ’1’d1[’2’] = ’2’for k,v in d1.items(): print k,v輸出:Regular dictionarya Ac Cb BOrder dictionarya Ab Bc C1 12 2

可以看到,同樣是保存了ABC等幾個元素,但是使用OrderedDict會根據放入元素的先后順序進行排序。所以輸出的值是排好序的。

OrderedDict對象的字典對象,如果其順序不同那么Python也會把他們當做是兩個不同的對象,請看事例:

print ’Regular dictionary:’d2={}d2[’a’]=’A’d2[’b’]=’B’d2[’c’]=’C’d3={}d3[’c’]=’C’d3[’a’]=’A’d3[’b’]=’B’print d2 == d3print ’nOrderedDict:’d4=collections.OrderedDict()d4[’a’]=’A’d4[’b’]=’B’d4[’c’]=’C’d5=collections.OrderedDict()d5[’c’]=’C’d5[’a’]=’A’d5[’b’]=’B’print d1==d2輸出:Regular dictionary:TrueOrderedDict:False

再看幾個例子:

dd = {’banana’: 3, ’apple’:4, ’pear’: 1, ’orange’: 2}#按key排序kd = collections.OrderedDict(sorted(dd.items(), key=lambda t: t[0]))print kd#按照value排序vd = collections.OrderedDict(sorted(dd.items(),key=lambda t:t[1]))print vd#輸出OrderedDict([(’apple’, 4), (’banana’, 3), (’orange’, 2), (’pear’, 1)])OrderedDict([(’pear’, 1), (’orange’, 2), (’banana’, 3), (’apple’, 4)])

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 一区二区三区蜜桃 | 国产99久久久欧美黑人 | 亚洲黄色片视频 | 影音先锋国产 | 国产午夜精品视频 | 五月伊人婷婷 | 观看av在线 | 伊人热久久 | 亚洲欧美系列 | 国产区91 | 欧美v片 | 久久精品一 | 开心激情综合 | 手机看片国产福利 | 亚洲a毛片 | 久久成年人视频 | 天天操天天看 | 天堂av免费| www精品视频| 天堂中文在线视频 | 中文字幕免费播放 | 97国产精品 | 日韩深夜 | 另类一区二区三区 | 国产性猛交96 | 99热3| 麻豆国产一区二区三区四区 | 欧美日韩中 | 中国一级黄 | 国产福利视频在线观看 | 成人免费看片 | 成人性生交大片免费看 | 成人福利在线观看 | 一本之道av | 亚洲人在线 | 天堂欧美城网站 | 国产91在线播放九色 | 国产精品天天狠天天看 | 波多野结衣一二区 | 狠狠操狠狠 | 久久福利一区 |