在使用Python字典的过程中,如果没有key就会自动报错,这时就需要python中defaultdict函数发挥作用。defaultdict是Python内建dict类的一个子类,功能与dict相同,但可以产生一个带有默认值的dict,如果key不存在,就会返回默认值。
1、若访问字典中不存在的键时会引发KeyError的异常。
dict1 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} dict2 = {} #定义空字典 dict3= dict() #定义空字典 bag = ['apple', 'orange', 'cherry', 'apple','apple', 'cherry', 'blueberry'] count = {} for fruit in bag: count[fruit] += 1 错误: KeyError: 'apple'
但是如果字典中的键如果能够有默认的值有时候是非常方便的。这时就需要用到defaultdict类。
2、dict.setdefault()方法
设置默认值:有两个参数,一个是键的名称,另一个是默认值。
如果键已经存在字典中就返回它的值,如果没有就将默认值保存并且返回该默认值。
setdefault(key[, default]) If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None
3、使用实例
strings = ('puppy', 'kitten', 'puppy', 'puppy', 'weasel', 'puppy', 'kitten', 'puppy') counts = {} for kw in strings: counts.setdefault(kw, 0) counts[kw] += 1 # 原PPT中这里有一个笔误
以上就是为什么要使用defaultdict函数和它的使用过程,现在你对defaultdict函数有所了解了吗?defaultdict函数是一个很多的防报错的方法,快学起来吧~