字典用法一般是dict={}
添加元素的只需要dict[element] =value即可,取数据也很简单,dict[element] ,但前提是element字典里,如果不在字典里就会报错
而defaultdict的作用是在于当字典里的key不存在时,返回的不是keyError而是一个默认值,这个默认值由defaultdict的参数决定
defaultdict
defaultdict构造方式如下:
dict =defaultdict( factory_function)
这个factory_function参数可以是list、set、str,int等等,作用是当key不存在时,返回的是工厂函数的默认值,比如list对应[ ],str对应的是空字符串,set对应set( ),int对应0,如下举例:
from collections import defaultdict
dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(str)
dict4 = defaultdict(list)
dict1[2] ='two'
dict2[2] ='two'
dict3[2] ='two'
dict4[2] ='two'
print("defaultdict(int)")
print("key存在:",dict1[2])
print("key不存在:",dict1[1])
print("defaultdict(set)")
print("key存在:",dict2[2])
print("key不存在:",dict2[1])
print("defaultdict(str)")
print("key存在:",dict3[2])
print("key不存在:",dict3[1])
print("defaultdict(list)")
print("key存在:",dict4[2])
print("key不存在:",dict4[1])
运行后输出结果如下:
defaultdict(int)
key存在: two
key不存在: 0
defaultdict(set)
key存在: two
key不存在: set()
defaultdict(str)
key存在: two
key不存在:
defaultdict(list)
key存在: two
key不存在: []