Python 有序字典6是一種特殊的字典,它可以保持鍵值對的順序,而普通的字典則不保證順序。
# 創(chuàng)建一個有序字典 from collections import OrderedDict d = OrderedDict() d['apple'] = 'red' d['banana'] = 'yellow' d['cherry'] = 'red' print(d) # OrderedDict([('apple', 'red'), ('banana', 'yellow'), ('cherry', 'red')]) # 遍歷有序字典 for key, value in d.items(): print(key, value)
有序字典的鍵值對可以像普通字典那樣添加、刪除、修改。但是要注意,有序字典的鍵是有序的,如果進(jìn)行了刪除或修改操作,會打亂之前的鍵值對順序。因此,如果需要保證鍵值對的順序不變,應(yīng)該在創(chuàng)建時就把所有鍵值對都加入。
# 刪除有序字典中的一個鍵值對 d.pop('banana') print(d) # OrderedDict([('apple', 'red'), ('cherry', 'red')]) # 修改有序字典中的一個鍵值對 d['apple'] = 'green' print(d) # OrderedDict([('apple', 'green'), ('cherry', 'red')]) # 創(chuàng)建有序字典時加入所有鍵值對 d = OrderedDict([('apple', 'red'), ('banana', 'yellow'), ('cherry', 'red')]) print(d) # OrderedDict([('apple', 'red'), ('banana', 'yellow'), ('cherry', 'red')])
有序字典在需要保持鍵值對順序的場合非常有用。尤其是在需要將字典中的數(shù)據(jù)按照某種順序進(jìn)行處理時,有序字典可以提高處理效率。但是,與普通字典相比,有序字典占用的內(nèi)存空間更大。