預設字典,有序字典

2021-09-17 19:38:52 字數 713 閱讀 8617

第乙個引數是default_factory,預設是none,它提供乙個初始化函式.當key不存在的時候,會呼叫這個工廠函式來生成key對應的value

d ={}

for i in 'abcdef':

for j in range(3):

if i not in d:

d[i]=

print(d)

from collections import defaultdict

d = defaultdict(list)

for i in 'abcdef':

for j in range(3):

print(d)

defaultdict(, )

有序字典可以記錄元素插入的順序,列印的時候也是按照這個順序輸出列印

3.6版本的python的字典就是記錄key插入的順序(ipython不一定有效果)

應用場景:

假如使用字典記錄了n個產品,這些產品使用id由小到大加入到字典中

除了使用字典檢索的遍歷,有時候需要取出id,但是希望是按照輸入的順序,因為輸入順序是有序的

否則還需要重新把遍歷到的值排序

from collections import ordereddict

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開發中用到了有序字典,所以研究了一下,以下。示例 有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。普通字典 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包 對比兩種輸出結果,不難...