0%

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.

  1. Ändere "city" von "Lisbon" in "Porto".

  2. Füge einen neuen Schlüssel "language" mit dem Wert "Portuguese" hinzu.

  3. Behalte die vorgegebenen Ausgabezeilen bei.

Erwartete Ausgabe:

Mina lives in Porto.
Language: Portuguese
Fields: 3