Python добавить новый элемент в словарь [дубликат]

этот вопрос уже есть ответ здесь:

Я хочу добавить элемент в существующий словарь в python. Например, это мой словарь:

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

Я хочу, чтобы добавить новый элемент, такой, что:

default_data = default_data + {'item3':3}

как этого добиться?

4 ответов


default_data['item3'] = 3

легко, как py.

другое возможное решение:

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

, который хорош, если вы хотите вставить несколько элементов одновременно.


Это может быть так же просто, как:

default_data['item3'] = 3

As Криса ответа говорит, Вы можете использовать обновление чтобы добавить более одного элемента. Пример:

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

пожалуйста, смотрите документы о словари как структуры данных и словари, как встроенные типы.


default_data['item3'] = 3

ответ должен быть так долго.


мне пришло в голову, что вы, возможно, на самом деле спрашиваете, как реализовать + оператор для словарей, кажется, работает следующее:

>>> 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 или dict.update(), поэтому я бы рекомендовал не использовать это решение, если вы не собираетесь создавать новый словарь в любом случае.