Werte ändern und hinzufügen
Die Werte in einem Dictionary können sich ändern. Einem Schlüssel weist du einen neuen Wert genauso zu wie einer Variablen, mit =:
spieler = {"name": "Ninja", "level": 1, "leben": 3}
spieler["level"] = 2
print(spieler){'name': 'Ninja', 'level': 2, 'leben': 3}Du kannst den neuen Wert auch aus dem alten berechnen, wie bei Variablen: spieler["leben"] = spieler["leben"] - 1 oder kürzer spieler["leben"] -= 1.
Beachte den Unterschied: Wenn du ein Dictionary erstellst, schreibst du ein Paar in den geschweiften Klammern mit einem Doppelpunkt ("level": 1). Wenn du später einen Wert änderst, verwendest du eckige Klammern und = (spieler["level"] = 2).
Wenn du einem Schlüssel einen Wert zuweist, den das Dictionary noch nicht hat, fügt Python ein neues Paar am Ende hinzu:
spieler = {"name": "Ninja", "level": 1, "leben": 3}
spieler["waffe"] = "Schwert"
print(spieler){'name': 'Ninja', 'level': 1, 'leben': 3, 'waffe': 'Schwert'}Jeder Schlüssel kann in einem Dictionary nur einmal vorkommen. Wenn du einem Schlüssel etwas zuweist, der schon da ist, fügt Python kein zweites Paar mit demselben Schlüssel hinzu, sondern ersetzt den Wert. Das ist praktisch, aber es bedeutet auch, dass dich nichts vor einem Tippfehler warnt: spieler["Level"] = 2 ändert nicht "level". Es fügt einen neuen Schlüssel "Level" hinzu, und Ninja bleibt auf Level 1.
Du kannst auch mit einem leeren Dictionary, {}, beginnen und ihm Paare nach und nach hinzufügen. Und len(), das du von Listen und Text kennst, sagt dir, wie viele Paare ein Dictionary hat:
spieler = {}
spieler["name"] = "Ninja"
spieler["level"] = 1
print(spieler)
print(len(spieler)){'name': 'Ninja', 'level': 1}
2Um ein Paar zu entfernen, verwende .pop() mit seinem Schlüssel, so wie du es bei einer Liste mit einem Index verwendest: spieler.pop("level") entfernt das Paar mit dem Schlüssel "level" und gibt seinen Wert zurück.
So schreibst du es:
Anweisungen
- 1
Ninja hat das erste Level geschafft. Erhöhe am Ende des Programms den Wert von
"level"um 1 und gibspielernoch einmal aus. Die zweite Zeile soll{'name': 'Ninja', 'level': 2, 'leben': 3}lauten. - 2
Ninja hat ein Schwert gefunden. Füge am Ende des Programms dem Dictionary den Schlüssel
"waffe"mit dem Wert"Schwert"hinzu und gibspielernoch einmal aus. - 3
Gib zum Schluss mit
len()aus, wie viele Paarespielerjetzt hat. Die letzte Zeile soll4lauten.