最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python OrderedDict字典排序方法詳解

 更新時(shí)間:2020年05月21日 11:11:52   作者:瘋了的小蝸  
這篇文章主要介紹了Python OrderedDict字典使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

很多人認(rèn)為python中的字典是無(wú)序的,因?yàn)樗前凑説ash來存儲(chǔ)的,但是python中有個(gè)模塊collections(英文,收集、集合),里面自帶了一個(gè)子類

OrderedDict,實(shí)現(xiàn)了對(duì)字典對(duì)象中元素的排序。請(qǐng)看下面的實(shí)例:

import collections
print "Regular dictionary"
d={}
d['a']='A'
d['b']='B'
d['c']='C'
for k,v in d.items():
  print k,v

print "\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 dictionary
a A
c C
b B

Order dictionary
a A
b B
c C
1 1
2 2

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

OrderedDict對(duì)象的字典對(duì)象,如果其順序不同那么Python也會(huì)把他們當(dāng)做是兩個(gè)不同的對(duì)象,請(qǐng)看事例:

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 == d3

print '\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:
True

OrderedDict:
False

再看幾個(gè)例子:

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)])

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

长沙市| 大埔县| 新宁县| 通化县| 张家界市| 伽师县| 文化| 故城县| 鄂州市| 玉林市| 屏南县| 南和县| 长宁县| 托克托县| 镇安县| 白城市| 陆川县| 鲁甸县| 正镶白旗| 巫溪县| 芜湖市| 峡江县| 惠东县| 高台县| 达日县| 乌审旗| 新巴尔虎左旗| 仙居县| 成武县| 班戈县| 阿瓦提县| 古田县| 灌阳县| 瓮安县| 平邑县| 齐河县| 长子县| 安远县| 灯塔市| 长寿区| 忻城县|