655

Python で既存の辞書に項目を追加したいと考えています。たとえば、これは私の辞書です。

default_data = {
            'item1': 1,
            'item2': 2,
}

次のような新しいアイテムを追加したい:

default_data = default_data + {'item3':3}

どうすればこれを達成できますか?

4

3 に答える 3

1329
default_data['item3'] = 3

パイのように簡単。

別の可能な解決策:

default_data.update({'item3': 3})

一度に複数のアイテムを挿入したい場合に便利です。

于 2011-06-20T19:08:11.433 に答える
91

次のように簡単にできます。

default_data['item3'] = 3

クリスの答えが言うように、更新を使用し複数のアイテムを追加できます。例:

default_data.update({'item4': 4, 'item5': 5})

データ構造として辞書と組み込み型としての辞書に関するドキュメントを参照してください。

于 2011-06-20T19:09:07.360 に答える
25

辞書の演算子を実装する方法を実際に尋ねている可能性があることに気づきまし+た。次のように機能するようです。

>>> 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] = valueorを使用するよりもオーバーヘッドが大きいことに注意してくださいdict.update()。したがって、とにかく新しい辞書を作成するつもりがない限り、このソリューションを使用しないことをお勧めします。

于 2011-06-20T19:36:55.887 に答える