lookup - Python dict get 複数 - 辞書に新しいキーを追加するにはどうしたらいいですか? #2

Python dict key 取得 / python / dictionary

Read Question

Peter Mortensen



Answer #2

これは、リストの辞書など、常に同じデータ型や構造で構成されている辞書を扱う場合に特に有効です。

>>> from collections import defaultdict
>>> example = defaultdict(int)
>>> example['key'] += 1
>>> example['key']
defaultdict(<class 'int'>, {'key': 1})
>>> example = dict()
>>> example['key'] += 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'key'

defaultdict を使用しない場合、新しい要素を追加するコードの量ははるかに多くなり、おそらく次のようになります。

defaultdict を使用しない場合、新しい要素を追加するコードの量ははるかに多くなり、おそらく次のようになります。

#このタイプのコードはループ内にあることがよくあります
if 'key' not in example:
    example['key'] = 0  #キーと初期値をdictに追加します。リストになることもあります
example['key'] += 1  #これはカウンターを実装しています
>>> example = defaultdict(list)
>>> example['key'].append(1)
>>> example
defaultdict(<class 'list'>, {'key': [1]})