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


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

  • Добавить новые ключи в словарь? 19 ответов

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

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

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

default_data = default_data + {'item3':3}

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

4 410

4 ответа:

default_data['item3'] = 3

легко, как py.

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

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

что хорошо, если вы хотите вставить несколько элементов сразу.

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

default_data['item3'] = 3

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

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