1. 程式人生 > >python3 有序字典

python3 有序字典

淺拷貝 odi value true 插入 技術分享 from move val

查看幫助文檔:

技術分享

可以發現,所謂有序字典,是記錄了插入順序

技術分享

很顯示 ,最後字典的順序就是你插入鍵值對的順序

方法介紹:(OD,代表字典名,點後面為方法)

OD.clear(), 清除所有鍵值對

OD.copy(), 淺拷貝

OD.fromkeys(s), 從s中得到key,如果不指定默認值,那麽默認情況下會填充為None

#!/usr/bin/env python
#coding:utf-8
[email protected]:Andy

from collections import OrderedDict
d = OrderedDict()
d = d.fromkeys([‘a‘, ‘z‘, ‘c‘], 2) # here set the default value as 2 if not it‘s None

print(d.items())

技術分享

OD.items(),以集合的形式顯示字典的鍵值對,如上圖

OD.move_to_end()

from collections import OrderedDict
d = OrderedDict()
d = d.fromkeys([‘a‘, ‘z‘, ‘c‘], 2)
d.move_to_end(‘a‘, last=True)
print(d)  # OrderedDict([(‘z‘, 2), (‘c‘, 2), (‘a‘, 2)])
# 註意,只有當鍵存在時才有效,否則會報錯

當last設置為False時, 字典本身沒有變化。

OD.pop(k,d) ; 此方法有返回值,它移除指定的鍵,返回該鍵對應的值。當鍵k不存在時,如果指定了d,也返回d,如果沒有指定,則報錯。

OD.popitem(): 返回並移除指定的鍵值對,鍵值對返回的順序是:當last=True, 為先進後出,如果last=False,則先進先出。

OD.setdefault(k,d): 當字典中沒有鍵k時,設置OD[k]=d

OD.values(): 返回字典值的對象

OD.update(E): 將E字典或者可叠代對象更新到OD中,可以指定keys方法,如果指定了keys()方法,作用相當於:for k in E D[k] = E[k]

    當沒有指定keys()方法時,則相當於for k,v in E D[k] = E[k]

python3 有序字典