目录
- 简述
- 例子
简述
defaultdict
是dict
的子类. 相交标准dict
, 它有两点增强:
- 当key不存在时,
defaultdict
可以执行自动创建; - 可以为value指定类型;
例子
具体用法可参考下面例子.
from collections import defaultdict
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
# create a defaultdict
dd = defaultdict(list)
# dd is used as a grouper
for k, v in s:
dd[k].append(v)
dd # defaultdict(, {'yellow': [1, 3], 'blue': [2, 4], 'red': [1]})
# dd is used as a counter
dd = defaultdict(int)
for k, v in s:
dd[k] += 1
dd # defaultdict(, {'yellow': 2, 'blue': 2, 'red': 1})
# dd is used as dictionary set
s = [('red', 1), ('blue', 2), ('red', 3), ('blue', 4), ('red', 1), ('blue', 4)]
dd = defaultdict(set)
for k, v in s:
dd[k].add(v)
dd # defaultdict(, {'red': {1, 3}, 'blue': {2, 4}})