Dictionaries und andere Sammlungen · Übung
Dictionary-Einträge hinzufügen und ändern
Dictionaries sind veränderbar. Eine Zuweisung mit einem Schlüssel kann einen Eintrag ändern oder einen hinzufügen.
Einen vorhandenen Wert ändern
Beginne mit einem kleinen Datensatz:
profile = {
"name": "Mina",
"city": "Lisbon",
}
Weise über den vorhandenen Schlüssel "city" einen Wert zu:
profile["city"] = "Porto"
Der Schlüssel existiert bereits, deshalb ändert sich sein Wert:
print(profile)
# {'name': 'Mina', 'city': 'Porto'}
Das Dictionary erhält keinen zweiten Eintrag "city". Schlüssel sind eindeutig.
Ein neues Schlüssel-Wert-Paar hinzufügen
Verwende dieselbe Syntax mit einem Schlüssel, der noch nicht vorhanden ist:
profile["language"] = "Portuguese"
Jetzt hat das Dictionary drei Einträge:
{
"name": "Mina",
"city": "Porto",
"language": "Portuguese",
}
Die Syntax ist identisch. Ob sie etwas hinzufügt oder ändert, hängt davon ab, ob der Schlüssel bereits existiert.
Einträge mit len() zählen
len() meldet, wie viele Schlüssel-Wert-Paare ein Dictionary enthält:
print(len(profile))
# 3
Es zählt nicht die Zeichen in den Schlüsseln oder Werten.
Die Reihenfolge bestimmt nicht die Identität
Modernes Python merkt sich die Einfügereihenfolge, wenn es ein Dictionary anzeigt oder durchläuft. Trotzdem sind Schlüssel der sinnvolle Weg, Felder zu finden.
Diese Dictionaries sind beim Vergleich gleich:
first = {"name": "Mina", "city": "Porto"}
second = {"city": "Porto", "name": "Mina"}
print(first == second)
# True
Sie enthalten dieselben Schlüssel-Wert-Paare. Ihre unterschiedliche Einfügereihenfolge macht sie daher nicht zu unterschiedlichen Datensätzen.
Welchen Wert hat len(item) am Ende?
item = {"name": "Map", "price": 4}
item["price"] = 5
item["stock"] = 12
print(len(item))
Aufgabe
Aktualisiere das vorhandene Dictionary profile.
Ändere
"city"von"Lisbon"in"Porto".Füge einen neuen Schlüssel
"language"mit dem Wert"Portuguese"hinzu.Behalte die vorgegebenen Ausgabezeilen bei.
Erwartete Ausgabe:
Mina lives in Porto.
Language: Portuguese
Fields: 3