第乙個引數是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包 對比兩種輸出結果,不難...