Python中的defaultdict函数

在使用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={}
forfruitinbag:
count[fruit]+=1
错误:
KeyError:'apple'

但是如果字典中的键如果能够有默认的值有时候是非常方便的。这时就需要用到defaultdict类。

2、dict.setdefault()方法

设置默认值:有两个参数,一个是键的名称,另一个是默认值。

如果键已经存在字典中就返回它的值,如果没有就将默认值保存并且返回该默认值。

setdefault(key[,default])
Ifkeyisinthedictionary,returnitsvalue.
Ifnot,insertkeywithavalueofdefaultandreturndefault.defaultdefaultstoNone

3、使用实例

strings=('puppy','kitten','puppy','puppy',
'weasel','puppy','kitten','puppy')
counts={}

forkwinstrings:
counts.setdefault(kw,0)
counts[kw]+=1#原PPT中这里有一个笔误