it-swarm.com.de

Python Neues Element zum Wörterbuch hinzufügen

Ich möchte einem vorhandenen Wörterbuch in Python ein Element hinzufügen. Zum Beispiel ist dies mein Wörterbuch:

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

Ich möchte einen neuen Artikel hinzufügen, so dass:

default_data = default_data + {'item3':3}

Wie kann man das erreichen?

499
brsbilgic
default_data['item3'] = 3

Einfach so.

Eine andere mögliche Lösung:

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

das ist schön, wenn Sie mehrere Elemente gleichzeitig einfügen möchten.

1101
Chris Eberle

Es kann so einfach sein wie:

default_data['item3'] = 3

Wie Chris 'Antwort sagt, können Sie pdate verwenden, um mehr als ein Element hinzuzufügen. Ein Beispiel:

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

Bitte lesen Sie die Dokumentation zu Wörterbücher als Datenstrukturen und Wörterbücher als eingebaute Typen .

67
GreenMatt

Mir ist der Gedanke gekommen, dass Sie sich tatsächlich gefragt haben, wie der + -Operator für Wörterbücher implementiert werden soll. Folgendes scheint zu funktionieren:

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

Beachten Sie, dass dies mehr Aufwand bedeutet als die Verwendung von dict[key] = value oder dict.update(). Daher würde ich davon abraten, diese Lösung zu verwenden, es sei denn, Sie beabsichtigen ohnehin, ein neues Wörterbuch zu erstellen.

23
Andrew Clark