Pythonの辞書(Rubyで言うところのハッシュ)は、存在しないキーでアクセスするとエラーになります。
>>> data = {} >>> data['a'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'a' >>>
これを防ぐためには、in演算子でキーが存在するかチェックすればいいのですが、けっこう面倒。
代わりに、collections.defaultdict()関数を使います。
>>> from collections import defaultdict >>> data = defaultdict(int) >>> data['a'] += 1 >>> data defaultdict(<class 'int'>, {'a': 1}) >>> data['a'] += 1 defaultdict(<class 'int'>, {'a': 2}) >>>
defaultdict関数の引数は、関数(上記ではint)です。