python有序字典

2021-09-11 23:35:48 字數 1242 閱讀 8709

最近的django開發中用到了有序字典,所以研究了一下,以下。

示例:有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。

普通字典:

1 d1={}

2 d1['a']='a'

3 d1['b']='b'

4 d1['c']='c'

5 d1['d']='d' #此時的d1 =

6 for k,v in d1.items():

7 print k,v

輸出結果為:

1 a a

2 c c

3 b b

4 d d

由上面的結果可以看出對普通字典進行遍歷,輸出結果是無序的。

下面是有序字典(需要匯入collections包):

1 import collections

2 d1={}

3 d1=collections.ordereddict() #將普通字典轉換為有序字典

4 d1['a']='a'

5 d1['b']='b'

6 d1['c']='c'

7 d1['d']='d'

8 for k,v in d1.items():

9 print k,v

輸出結果為:

1 a a

2 b b

3 c c

4 d d

對比兩種輸出結果,不難發現,有序字典可以按字典中元素的插入順序來輸出

上面兩個例子之所以字典中插入元素,而不是一開始就將字典中的元素定義好,是因為有序字典的作用只是記住元素插入順序並按順序輸出。

如果有序字典中的元素一開始就定義好了,後面沒有插入元素這一動作,那麼遍歷有序字典,其輸出結果為空,因為缺少了有序插入這一條件,所以此時有序字典就失去了作用,所以有序字典一般用於動態新增並需要按新增順序輸出的時候

舉例說明:

1 import collections

2 d2 =

3 d2=collections.ordereddict() #將普通字典轉換為有序字典

4 for k,v in d2.items():

5 print k,v

其輸出結果為空。

Python有序字典

最近的django開發中用到了有序字典,所以研究了一下,以下。示例 有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。普通字典 1 d1 2 d1 a a 3 d1 b b 4 d1 c c 5 d1 d d 此時的d1 6 for k,v in d1.it...

python有序字典

最近的django開發中用到了有序字典,所以研究了一下,以下。示例 有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。普通字典 由上面的結果可以看出對普通字典進行遍歷,輸出結果是無序的。下面是有序字典 需要匯入collections包 對比兩種輸出結果,不難...

Python有序字典 OrderedDict

有序字典和普通的dict基本上是相似的,只有一點不同,那就是有序字典中鍵值對的順序會保留插入時的順序。有序字典的建立方法和普通的dict類似,不過由於多了保留順序的功能,因此在使用可迭代物件建立有序字典時,可以對它先排個序,讓建立出來的字典元素也是有序的 data a 1 b 3 c 2 od co...