Python collections.defaultdict

2020-02-02  本文已影响0人  TTTRX

defaultdict的作用

Python中通过Key访问字典,当Key不存在时,会导致KeyError异常:

s={}
s['key1']='hhh'
print(s['key1'])
print(s['key2'])

这时会报出如下错误:
KeyError: 'key2'
为了避免这种情况的发生,可以使用collections类中的defaultdict()来为字典提供默认值。

如何使用default

defaultdict接受一个工厂函数作为参数:

dict =defaultdict( factory_function)

这个factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默认值,比如list对应[ ],str对应的是空字符串,set对应set( ),int对应0,如下举例:

from collections import defaultdict

dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(str)
dict4 = defaultdict(list)
dict1[2] ='two'

print(dict1[1])
print(dict2[1])
print(dict3[1])
print(dict4[1])

输出:

0
set()

[]

参考链接

python中defaultdict用法详解

欢迎大家关注我的微信公众号:


公众号 支付宝红包码,你领红包我赚赏金;土豪请任意收钱码打赏
上一篇下一篇

猜你喜欢

热点阅读