Erklärung zur Lektion
Nach dieser Lektion kannst du:
Ein Dictionary ordnet Schlüsseln (keys) Werte (values) zu. Es ist nützlich für benannte Einstellungen und Datensätze, bei denen settings["region"] klarer ist, als sich eine numerische Position zu merken. Ein Literal verwendet Einträge der Form {key: value}; ein leeres Dictionary ist {}. Schlüssel müssen hashbar sein (Strings sind eine gängige Wahl), und jeder Schlüssel ist eindeutig: Wird derselbe Schlüssel erneut zugewiesen, ersetzt das seinen Wert.
Einen bekannten Wert liest du mit record[key], und mit record[key] = new_value fügst du ihn hinzu oder aktualisierst ihn. Das Nachschlagen eines fehlenden Schlüssels mit eckigen Klammern löst KeyError aus.
Prüfe die Schlüsselzugehörigkeit mit key in record, bevor du ein optionales Feld liest. Das prüft, ob ein Schlüssel existiert, nicht ob sein Wert truthy ist: Ein gespeichertes 0, False, "" oder None kann trotzdem gültige Daten sein. Verwende del record[key], um einen vorhandenen Schlüssel zu entfernen; prüfe zuvor die Zugehörigkeit, wenn er fehlen könnte.
Eckige Klammern schlagen den Wert nach, der zu einem Schlüssel gehört.
account = {"team": "payments", "retries": 3}
print(account["team"])
print(account["retries"])Ausgabe:
payments
3Die Zuweisung an einen fehlenden Schlüssel fügt ihn hinzu; die Zuweisung an einen vorhandenen Schlüssel ändert seinen Wert.
config = {"region": "us", "retries": 2}
config["region"] = "eu"
config["enabled"] = True
print(config["region"])
print(config["enabled"])Ausgabe:
eu
TrueDie Zugehörigkeitsprüfung testet das Vorhandensein des Schlüssels, nicht den gespeicherten Wert.
profile = {"user": "Maya", "attempts": 0}
print("attempts" in profile)
print("active" in profile)Ausgabe:
True
FalseBeim Löschen wird der Eintrag vollständig entfernt.
settings = {"debug": False, "port": 8000}
del settings["debug"]
print(len(settings))
print("debug" in settings)Ausgabe:
1
False| Bedarf | Python |
|---|---|
| Eine Zuordnung erstellen | {"region": "eu"} |
| Einen bekannten Schlüssel lesen | config["region"] |
| Hinzufügen oder aktualisieren | config["enabled"] = True |
| Prüfen, ob ein Schlüssel existiert | "enabled" in config |
| Einen vorhandenen Eintrag löschen | del config["enabled"] |
| Einträge zählen | len(config) |
record["missing"] löst KeyError aus, wenn der Schlüssel nicht existiert.key in record prüft Schlüssel, nicht Werte.0 ist weiterhin ein Wert für einen vorhandenen Schlüssel..get() von Dictionaries und sein Standardverhalten werden in der nächsten Lektion eingeführt; verwende hier Prüfungen auf Schlüsselzugehörigkeit.