デフォルト値の辞書
python[ ]でアクセスした際に、キーが登録されていなかった場合、デフォルトの値を返してくれる辞書。
初期化時に、デフォルトの値を作るためのcallableを渡す。
list, intなどの既存の型もcallableとして渡せることに注意。
>>> 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])]