Python ajouter un nouvel élément au dictionnaire [dupliquer]

cette question a déjà une réponse ici:

je veux ajouter un élément à un dictionnaire en python. Par exemple, voici mon dictionnaire:

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

je veux ajouter un nouvel article tel que:

default_data = default_data + {'item3':3}

comment y parvenir?

410
demandé sur Chaitanya Bapat 2011-06-20 23:07:11

4 réponses

default_data['item3'] = 3

facile comme py.

une autre solution possible:

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

ce qui est bien si vous voulez insérer plusieurs articles à la fois.

924
répondu Chris Eberle 2011-06-20 19:08:11

cela peut être aussi simple que:

default_data['item3'] = 3

Comme Chris " réponse dit, vous pouvez utiliser mise à jour pour ajouter plus d'un élément. Un exemple:

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

s'il vous Plaît voir les docs sur les dictionnaires comme des structures de données et les dictionnaires comme des types intégrés .

64
répondu GreenMatt 2017-05-23 12:18:29
default_data['item3'] = 3

la réponse doit être si longue.

23
répondu zellio 2011-06-20 19:08:59

il m'est apparu que vous vous demandiez peut-être comment implémenter l'opérateur + pour les dictionnaires, ce qui suit 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 c'est plus de frais généraux que d'utiliser dict[key] = value ou dict.update() , donc je recommande de ne pas utiliser cette solution à moins que vous ayez l'intention de créer un nouveau dictionnaire de toute façon.

22
répondu Andrew Clark 2011-06-20 19:36:55