python のディクショナリは存在しないキーを参照すると KeyError が発生するんで使用前に has_key() を使ってキーの存在を調べたりする必要がある。複数のディクショナリを使ってるときに、 if 文をいっぱい書くのが面倒だなぁと思ってたんだけど、setdefault() を使えば面倒が一気に解消されることを知った。 存在しないキーを参照するとこうなる。 >>> d = {} >>> d['hoge'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'hoge' setdefault() を使用するとこんな感じ >>> d = {} >>> d.setdefault('hoge', 'fuga') 'fuga' >>> d {'hoge': 'fuga'} >>