defaultdictの紹介

標準の辞書を利用していると、辞書の中に存在しないキーで参照しようとした際に、エラーとなってしまう。そのため、下記のようにチェックをする必要がある。

1
2
3
4
try:
your_process(d[key])
except KeyError:
pass
1
2
if key in d:
your_process(d[key])

そんな時はdefaultdictを使うと便利。

1
2
3
>>> import collections
>>> dd = collections.defaultdict(lambda: "hoge")
>>> dd['A'] = '1'

Bをキーとして参照すると’hoge’が返却される

1
2
3
4
5
>>> dd['A']
'1'

>>> dd['B']
'hoge'