collections之 defaultdict模块

# defaultdict的作用是在于,当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值
from collections import defaultdict
# 默认值只能是工厂函数,比如:list,set,str等等,当key不存在是则会返回对应的[],set(),"" 等等

>>> d1 = defaultdict(int) # 不存在时生产整形
>>> d1
defaultdict(<class 'int'>, {})
>>> d1['1']
0

>>> d2 = defaultdict(list) # 不存在时生产列表
>>> d2
defaultdict(<class 'list'>, {})
>>> d2['b']=2
>>> d2
defaultdict(<class 'list'>, {'b': 2})
>>> d2['a']
[]

>>> d3 = defaultdict(tuple) # 不存在时生产元组
>>> d3
defaultdict(<class 'tuple'>, {})
>>> d3['a']
()

>>> d4 = defaultdict(set) # 不存在时生产集合
>>> d4
defaultdict(<class 'set'>, {})
>>> d4['a']
set()

>>> d5 = defaultdict(dict) # 不存在时生产字典
>>> d5
defaultdict(<class 'dict'>, {})
>>> d5['a']
{}

 

posted @ 2020-03-18 21:42  海澜时见鲸  阅读(157)  评论(0)    收藏  举报