1. 普通字典与defaultdict的区别
【普通的字典】
使用:dict={},
添加元素:dict[element] =value
调用:dict[element] = xxx
但前提是element字典里,如果不在字典里就会报错(keyError)
【defaultdict】
当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值
2. defaultdict的使用
defaultdic接受一个工厂函数作为参数
dict = defaultdict(factory_function)
<factory_function可以是list、set、str等>
当key不存在的时候,返回的是工厂函数的默认值(list的默认值[] set默认值 set() str默认值字符串 int默认值0)
from collections import defaultdict
dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(str)
dict4 = defaultdict(list)
dict1[2] ='two'
print(dict1[1])
print(dict2[1])
print(dict3[1])
print(dict4[1])
0
set()
[]