3552 Stimmen

Wie kann ich neue Schlüssel zu einem Wörterbuch hinzufügen?

Wie füge ich einen Schlüssel zu einem bestehenden Wörterbuch hinzu? Es hat keine .add() Methode.

0 Stimmen

Entweder verwenden Sie die akzeptierte Antwort: d['mynewkey'] = 'mynewvalue' oder Sie können val = d.setdefault('mynewkey', 'mynewvalue') verwenden.

2 Stimmen

Wenn Sie einfach <Wörterbuch>[<Schlüssel>] = <Wert> verwenden und der Schlüssel nicht existiert, wird er automatisch hinzugefügt.

2 Stimmen

Re @cs95, dies erzeugt auch ein neues Diktat mit einem zusätzlichen Schlüssel: dict(existing_dict, new_key=new_val) per stackoverflow.com/a/46647897/1840471

6voto

Irfan wani Punkte 3073

Hier ist ein einfacher Weg!

your_dict = {}
your_dict['someKey'] = 'someValue'

Dadurch wird eine neue key: value Paar im your_dict Wörterbuch mit key = someKey y value = somevalue

Sie können auch auf diese Weise den Wert des Schlüssels aktualisieren somekey wenn diese bereits in der your_dict .

0 Stimmen

Ich wollte nur klarstellen, dass sich die Dinge von Zeit zu Zeit ändern, insbesondere bei der Programmierung.

6voto

m_____z Punkte 1363

Ich denke, es wäre auch nützlich, auf Pythons collections Modul, das aus vielen nützlichen Wörterbuchunterklassen und Wrappern besteht, die die Hinzufügen und Ändern von Datentypen in einem Wörterbuch und zwar defaultdict :

dict-Unterklasse, die eine Fabrikfunktion aufruft, um fehlende Werte zu liefern

Dies ist besonders nützlich, wenn Sie mit Wörterbüchern arbeiten, die immer aus denselben Datentypen oder Strukturen bestehen, z. B. ein Wörterbuch mit Listen.

>>> from collections import defaultdict
>>> example = defaultdict(int)
>>> example['key'] += 1
>>> example['key']
defaultdict(<class 'int'>, {'key': 1})

Wenn der Schlüssel noch nicht vorhanden ist, defaultdict weist den angegebenen Wert zu (in unserem Fall 10 ) als Anfangswert für das Wörterbuch (oft in Schleifen verwendet). Diese Operation erfüllt also zwei Aufgaben: Sie fügt einen neuen Schlüssel zu einem Wörterbuch hinzu (wie in der Frage angegeben), weist den Wert zu, wenn der Schlüssel noch nicht existiert. Mit dem Standard-Wörterbuch hätte dies zu einem Fehler geführt, da die += Operation versucht, auf einen Wert zuzugreifen, der noch nicht existiert:

>>> example = dict()
>>> example['key'] += 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'key'

Ohne den Einsatz von defaultdict Der Code zum Hinzufügen eines neuen Elements wäre wesentlich umfangreicher und würde etwa so aussehen:

# This type of code would often be inside a loop
if 'key' not in example:
    example['key'] = 0  # add key and initial value to dict; could also be a list
example['key'] += 1  # this is implementing a counter

defaultdict kann auch mit komplexen Datentypen verwendet werden, z. B. list y set :

>>> example = defaultdict(list)
>>> example['key'].append(1)
>>> example
defaultdict(<class 'list'>, {'key': [1]})

Durch das Hinzufügen eines Elements wird die Liste automatisch initialisiert.

6voto

Shlok Sharma Punkte 110

Sie können ein neues Schlüssel-Werte-Paar wie folgt erstellen:

my_dictionary = {"key1" : "value1"}
my_dictionary["key2"] = "value2"

Um "key1" oder "value2" zu ändern, können Sie dasselbe wie folgt tun:

my_dictionary = {"key1" : "value1"}
my_dictionary["key2"] = "value2"

my_dictionary["key1"] = "value1_revised"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X