
在使用Python字典的过程中,如果没有key就会自动报错,这时就需要python中defaultdict函数发挥作用。defaultdict是Python内建dict类的一个子类,功能与dict相同,但可以产生一个带有默认值的dict,如果key不存在,就会返回默认值。
1、若访问字典中不存在的键时会引发KeyError的异常。
1 2 3 4 5 6 7 8 9 10 | 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()方法
设置默认值:有两个参数,一个是键的名称,另一个是默认值。
如果键已经存在字典中就返回它的值,如果没有就将默认值保存并且返回该默认值。
1 2 3 | 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、使用实例
1 2 3 4 5 6 7 | 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函数是一个很多的防报错的方法,快学起来吧~