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'] {}