在使用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中这里有一个笔误