web-dev-qa-db-fra.com

Python ajouter un nouvel élément au dictionnaire

Je souhaite ajouter un élément à un dictionnaire existant en python. Par exemple, voici mon dictionnaire:

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

Je veux ajouter un nouvel élément tel que:

default_data = default_data + {'item3':3}

Comment y parvenir?

499
brsbilgic
default_data['item3'] = 3

Facile comme py.

Une autre solution possible:

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

ce qui est bien si vous souhaitez insérer plusieurs éléments à la fois.

1101
Chris Eberle

Cela peut être aussi simple que:

default_data['item3'] = 3

Comme la réponse de Chris dit, vous pouvez utiliser pdate pour ajouter plusieurs éléments. Un exemple:

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

Veuillez consulter la documentation sur dictionnaires en tant que structures de données et dictionnaires en tant que types intégrés .

67
GreenMatt

Je me suis dit que vous demandiez peut-être comment implémenter l’opérateur + pour les dictionnaires. Voici ce qui semble fonctionner:

>>> 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}

Notez que ceci est plus fastidieux que d'utiliser dict[key] = value ou dict.update(), je vous déconseille donc d'utiliser cette solution, sauf si vous avez l'intention de créer un nouveau dictionnaire.

23
Andrew Clark