Defaultdict

Defaultdict is a subclass of the dict class. When it encounters a new item, it uses what is provided in its constructor to make a default.

Initialization

l = defaultdict(list) # use list factory function on default
s = defaultdict(set) # use empty set on default
i = defaultdict(int) # use default int (0) for default.

Examples

s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
    d[k].append(v)

list(d.items()) # [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
s = 'mississippi'
d = defaultdict(int)
for k in s:
    d[k] += 1

list(d.items()) # [('i', 4), ('p', 2), ('s', 4), ('m', 1)]