嗨嘍,大家好呀~這里是愛看美女的茜茜吶
有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。
普通字典:
d1={}
d1['a']='A'
d1['b']='B'
d1['c']='C'
d1['d']='D' #此時(shí)的d1 = {'a':'A','b':'B','c':'C','d':'D'}
for k,v in d1.items():
print (k,v)
輸出結(jié)果為:
a A
c C
b B
d D
由上面的結(jié)果可以看出對普通字典進(jìn)行遍歷,輸出結(jié)果是無序的。
下面是有序字典(需要導(dǎo)入collections包):
import collections
d1={}
d1=collections.OrderedDict() #將普通字典轉(zhuǎn)換為有序字典
d1['a']='A'
d1['b']='B'
d1['c']='C'
d1['d']='D'
for k,v in d1.items():
print (k,v)
對比兩種輸出結(jié)果,不難發(fā)現(xiàn),有序字典可以按字典中元素的插入順序來輸出。
上面兩個(gè)例子之所以字典中插入元素,而不是一開始就將字典中的元素定義好,是因?yàn)橛行蜃值涞淖饔弥皇怯涀≡夭迦腠樞虿错樞蜉敵觥?/p>
如果有序字典中的元素一開始就定義好了,后面沒有插入元素這一動作,那么遍歷有序字典,其輸出結(jié)果為空,因?yàn)槿鄙倭擞行虿迦脒@一條件,所以此時(shí)有序字典就失去了作用,所以有序字典一般用于動態(tài)添加并需要按添加順序輸出的時(shí)候。
舉例說明:
import collections
d2 = {'a':'A','b':'B','c':'C','d':'D'}
d2=collections.OrderedDict() #將普通字典轉(zhuǎn)換為有序字典
for k,v in d2.items():
print (k,v)
其輸出結(jié)果為空。
尾語
感謝你觀看我的文章吶~本次航班到這里就結(jié)束啦 ??
希望本篇文章有對你帶來幫助 ??,有學(xué)習(xí)到一點(diǎn)知識~
躲起來的星星??也在努力發(fā)光,你也要努力加油(讓我們一起努力叭)。
