HOWTO · Python
Ein Dictionary in Python deklarieren
Dieses Tutorial zeigt, wie Sie einen Dictionary-Datentyp in Python deklarieren.
Auf dieser Seite
Wörterbücher sind veränderbare Zuordnungen von eindeutigen Schlüsseln zu Werten. Mit einem Schlüssel können Sie den zugehörigen Wert abrufen, ein neues Schlüssel-Wert-Paar hinzufügen oder den Wert eines vorhandenen Schlüssels ersetzen. Dieser Leitfaden zeigt die gängigen Möglichkeiten, ein Wörterbuch zu erstellen, und wann sich die jeweilige Eingabeform eignet.
Welche Daten ein Python-Wörterbuch speichert
Ein Wörterbuch ordnet jedem Schlüssel einen Wert zu. Schlüssel müssen hashbar sein; häufig verwendet werden Zeichenketten, Zahlen und Tupel, die ausschließlich hashbare Werte enthalten. Listen, Wörterbücher und Mengen sind nicht hashbar und können daher nicht als Schlüssel dienen. Werte können beliebige Python-Objekte sein. Wenn Sie einem vorhandenen Schlüssel einen Wert zuweisen, wird dessen Wert ersetzt, statt einen zweiten Eintrag für diesen Schlüssel anzulegen.
Ein Wörterbuch mit geschweiften Klammern erstellen
Verwenden Sie geschweifte Klammern mit key: value-Paaren, um ein Wörterbuchliteral zu schreiben. Das Beispiel erstellt eine Zuordnung, ruft einen Wert ab, fügt einen Schlüssel hinzu und aktualisiert anschließend einen vorhandenen Schlüssel.
Führen Sie dieses Beispiel aus:
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
person = {"name": "Alice", "age": 30}
print(person["name"])
person["city"] = "Boston"
person["age"] = 31
print(person["age"])
print(person["city"])
Alice
31
Boston
Verwenden Sie {}, wenn Sie ein leeres Wörterbuch benötigen.
Mit eckigen Klammern rufen Sie einen Wert anhand seines Schlüssels ab. Beim Zugriff auf einen nicht vorhandenen Schlüssel wird KeyError ausgelöst. Verwenden Sie person.get("nickname"), wenn bei einem fehlenden Schlüssel stattdessen None zurückgegeben werden soll. Als zweites Argument können Sie auch einen anderen Standardwert übergeben.
Ein Wörterbuch mit dict() erstellen
Der eingebaute Konstruktor dict() kann mit dict() eine leere Zuordnung erstellen. Die Schlüsselwortform ist praktisch, wenn die Schlüssel gültige Python-Bezeichner sind: Die Namen der Argumente werden zu Zeichenkettenschlüsseln. Verwenden Sie geschweifte Klammern, wenn die Schlüssel keine Bezeichner sind oder Sie Schlüssel-Wert-Paare ausdrücklich angeben möchten.
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
person = dict(name="Bob", age=25)
print(person)
{'name': 'Bob', 'age': 25}
Zum Beispiel erstellt dict(name="Bob") den Zeichenkettenschlüssel "name"; ein beliebiger Ausdruck lässt sich nicht als Name eines Schlüsselwortarguments verwenden.
Ein Wörterbuch aus Paaren oder vorhandenen Daten erstellen
Übergeben Sie dict() ein iterierbares Objekt mit Elementen aus jeweils zwei Werten, wenn Ihre Daten bereits als Paare vorliegen. Jedes Paar liefert einen Schlüssel und den dazugehörigen Wert.
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
pairs = [("name", "Charlie"), ("age", 28)]
person = dict(pairs)
print(person["age"])
28
Das funktioniert auch mit anderen iterierbaren Paaren, etwa Tupeln. Kommt ein Schlüssel in der Eingabe mehrfach vor, ersetzt der spätere Wert im resultierenden Wörterbuch den früheren. Jedes Element muss genau zwei Werte enthalten.
Ein Wörterbuch mit einer Dictionary-Comprehension erstellen
Eine Dictionary-Comprehension erzeugt mithilfe eines Ausdrucks Schlüssel-Wert-Paare aus einem iterierbaren Objekt. Sie eignet sich, wenn jeder Eintrag im Ergebnis nach derselben Regel umgewandelt wird.
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
squares = {number: number ** 2 for number in range(4)}
print(squares)
{0: 0, 1: 1, 2: 4, 3: 9}
Hier wird jede Zahl zum Schlüssel und ihr Quadrat zum Wert. Eine Comprehension kann auch eine Bedingung enthalten, zum Beispiel {number: number ** 2 for number in range(6) if number % 2 == 0}.
Die passende Methode zum Erstellen eines Wörterbuchs wählen
Wählen Sie die Form, die zu Ihren vorhandenen Daten passt:
- Verwenden Sie geschweifte Klammern für ein Literal, dessen Schlüssel und Werte Sie direkt angeben, einschließlich
{}für ein leeres Wörterbuch. - Verwenden Sie
dict()mit Schlüsselwortargumenten, wenn die Schlüssel einfache, bezeichnerartige Namen sind. - Verwenden Sie
dict(pairs), wenn die vorhandenen Daten aus Paaren mit jeweils zwei Werten bestehen. - Verwenden Sie eine Comprehension, wenn Schlüssel oder Werte nach einer einheitlichen Regel aus einem iterierbaren Objekt abgeleitet werden.
Alle diese Formen erstellen veränderbare Wörterbücher. Um später einen Eintrag hinzuzufügen oder zu ändern, weisen Sie mit mapping[key] = value einen Wert zu. Ist der Schlüssel bereits vorhanden, wird sein Wert ersetzt.