当前位置:  首页>> 技术小册>> Python合辑6-字典专题

default dict

当我使用普通的字典时,用法一般是dict={},添加元素的只需要dict[element] =value即,调用的时候也是如此,dict[element] = xxx,但前提是element字典里,如果不在字典里就会报错,如:
这时defaultdict就能排上用场了,defaultdict的作用是在于,当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值,这个默认值是什么呢,下面会说
这个factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默认值,比如list对应[ ],str对应的是空字符串,set对应set( ),int对应0,如下举例:

  1. from collections import defaultdict
  2. dict1 = defaultdict(int)
  3. dict2 = defaultdict(set)
  4. dict3 = defaultdict(str)
  5. dict4 = defaultdict(list)
  6. dict1[2] = 'two'
  7. print("dict1[1]: %s" % dict1[1])
  8. print("dict1[1]: %s" % dict2[1])
  9. print("dict1[1]: %s" % dict3[1])
  10. print("dict1[1]: %s" % dict4[1])

输出:

  1. dict1[1]: 0
  2. dict1[1]: set()
  3. dict1[1]:
  4. dict1[1]: []