當前位置:成語大全網 - 漢語詞典 - python如何保持字典有序(代碼)

python如何保持字典有序(代碼)

這篇文章給大家帶來的是關於python如何保持字典有序(代碼),有壹定的參考價值。有需要的朋友可以參考壹下,希望對妳有幫助。1,需求

我們要創建壹個字典,同時在叠代或者序列化字典的時候,也可以控制裏面元素的順序。2.解決方法

若要控制字典中元素的順序,可以使用collections模塊中的OrderedDict類。當遍歷字典時,將嚴格按照最初添加元素的順序進行。

從集合導入訂單直接

d=OrderedDict()

d['a']=1

d['b']=2

d['c']=3

d['d']=4

#根據插入刪除輸出

對於d中的鍵:

Print(key,d[key])結果:

1

b 2

c 3

當您希望構建壹個映射結構,以便以後將其序列化或編碼為另壹種格式時,D 4 OrderedDict特別有用。例如,如果您想在對JSON進行編碼時精確地控制字段的順序,您只需要首先按照OrderedDict構建數據:

從集合導入訂單直接

導入json

d=OrderedDict()

d['a']=1

d['b']=2

d['c']=3

d['d']=4

j=json.dumps(d)

打印(j)結果:

{"a": 1," b": 2," c": 3," d": 4}有序Dict維護壹個雙向鏈表,按照元素添加的順序排列鍵的位置。第壹個新添加的元素放在鏈表的末尾,然後重新分配現有的鍵,而不改變鍵的位置。請註意:OrderedDict的大小是普通字典的兩倍。這是因為它創建了額外的鏈表。因此,如果您計劃構建壹個涉及大量OrderedDict實例的數據結構(例如,從壹個CSV文件中讀取100 000行到OrderedDict列表中),您需要對應用程序的需求進行認證和分析,以判斷使用OrderedDict帶來的好處是否能夠超過額外的內存開銷帶來的壞處。