Python で既存の辞書に項目を追加したいと考えています。たとえば、これは私の辞書です。
default_data = {
'item1': 1,
'item2': 2,
}
次のような新しいアイテムを追加したい:
default_data = default_data + {'item3':3}
どうすればこれを達成できますか?
Python で既存の辞書に項目を追加したいと考えています。たとえば、これは私の辞書です。
default_data = {
'item1': 1,
'item2': 2,
}
次のような新しいアイテムを追加したい:
default_data = default_data + {'item3':3}
どうすればこれを達成できますか?
default_data['item3'] = 3
パイのように簡単。
別の可能な解決策:
default_data.update({'item3': 3})
一度に複数のアイテムを挿入したい場合に便利です。
次のように簡単にできます。
default_data['item3'] = 3
クリスの答えが言うように、更新を使用して複数のアイテムを追加できます。例:
default_data.update({'item4': 4, 'item5': 5})
データ構造としての辞書と組み込み型としての辞書に関するドキュメントを参照してください。
辞書の演算子を実装する方法を実際に尋ねている可能性があることに気づきまし+
た。次のように機能するようです。
>>> class Dict(dict):
... def __add__(self, other):
... copy = self.copy()
... copy.update(other)
... return copy
... def __radd__(self, other):
... copy = other.copy()
... copy.update(self)
... return copy
...
>>> default_data = Dict({'item1': 1, 'item2': 2})
>>> default_data + {'item3': 3}
{'item2': 2, 'item3': 3, 'item1': 1}
>>> {'test1': 1} + Dict(test2=2)
{'test1': 1, 'test2': 2}
これはdict[key] = value
orを使用するよりもオーバーヘッドが大きいことに注意してくださいdict.update()
。したがって、とにかく新しい辞書を作成するつもりがない限り、このソリューションを使用しないことをお勧めします。