Python Dictionaries

You are here:

Dictionaries sind eine weitere wichtige Datenstruktur in Python, die es Dir ermöglicht, Schlüssel-Wert-Paare zu speichern und effizient darauf zuzugreifen. Im Gegensatz zu Listen, bei denen Du auf Elemente über ihren Index zugreifen musst, kannst Du bei Dictionaries Elemente direkt über ihren eindeutigen Schlüssel abrufen. In der Praxis sind Dictionaries sehr nützlich, um zum Beispiel Konfigurationsdaten, Datenbankabfragen oder JSON-ähnliche Datenstrukturen zu verwalten. Schauen wir uns einige Beispiele an:

# Ein Dictionary erstellen
person = {
    'name': 'Max',
    'alter': 25,
    'wohnort': 'Berlin'
}
print(person)  # Gibt {'name': 'Max', 'alter': 25, 'wohnort': 'Berlin'} aus

Um auf den Wert eines Schlüssels zuzugreifen, verwendest Du einfach die eckigen Klammern:

name = person['name']
print(name)  # Gibt 'Max' aus

Dictionaries bieten auch eine Methode `get()`, mit der Du auf Werte zugreifen kannst, ohne einen Fehler zu riskieren, wenn der Schlüssel nicht vorhanden ist:

wohnort = person.get('wohnort', 'Unbekannt')
print(wohnort)  # Gibt 'Berlin' aus
hobby = person.get('hobby', 'Unbekannt')
print(hobby)  # Gibt 'Unbekannt' aus, da 'hobby' nicht im Dictionary vorhanden ist

Um ein neues Schlüssel-Wert-Paar hinzuzufügen oder den Wert eines vorhandenen Schlüssels zu ändern, verwendest Du die Zuweisungsoperation:

person['beruf'] = 'Softwareentwickler'
print(person)  # Gibt {'name': 'Max', 'alter': 25, 'wohnort': 'Berlin', 'beruf': 'Softwareentwickler'} aus
person['alter'] = 26
print(person)  # Gibt {'name': 'Max', 'alter': 26, 'wohnort': 'Berlin', 'beruf': 'Softwareentwickler'} aus

Du kannst Dictionaries auch verwenden, um über Schlüssel und Werte zu iterieren:

for key, value in person.items():
    print(f"{key}: {value}")

Die Ausgabe dieses Codeausschnitts wäre:

name: Max
alter: 26
wohnort: Berlin
beruf: Softwareentwickler

Fehlerbehandlung ist ein wichtiger Aspekt der Python-Programmierung, insbesondere wenn es um das Arbeiten mit Dictionaries geht. Ein häufiger Fehler, der bei der Verwendung von Dictionaries auftritt, ist der `KeyError`. Dieser Fehler wird ausgelöst, wenn Du versuchst, auf einen Schlüssel zuzugreifen, der im Dictionary nicht vorhanden ist. Glücklicherweise gibt es verschiedene Möglichkeiten, diesen Fehler zu vermeiden oder zu behandeln.

KeyError vermeiden

Die sicherste Methode, um einen `KeyError` zu vermeiden, ist die Verwendung der `get()`-Methode, die wir bereits im vorherigen Text erwähnt haben. Die `get()`-Methode gibt den Wert eines Schlüssels zurück, wenn er im Dictionary vorhanden ist, und gibt andernfalls einen Standardwert zurück, den Du als zweiten Parameter angeben kannst.

wohnort = person.get('wohnort', 'Unbekannt')
print(wohnort)  # Gibt 'Berlin' aus, da 'wohnort' im Dictionary vorhanden ist
hobby = person.get('hobby', 'Unbekannt')
print(hobby)  # Gibt 'Unbekannt' aus, da 'hobby' nicht im Dictionary vorhanden ist

KeyError behandeln

Wenn Du lieber den Zugriff über eckige Klammern verwenden möchtest, kannst Du den `KeyError` mit einem `try`-`except`-Block abfangen:

try:
    hobby = person['hobby']
except KeyError:
    print("Schlüssel 'hobby' nicht gefunden")
    hobby = 'Unbekannt'

In diesem Beispiel versuchen wir, den Wert des Schlüssels `’hobby’` abzurufen. Wenn dieser Schlüssel nicht im Dictionary vorhanden ist, wird ein `KeyError` ausgelöst und der Code im `except`-Block wird ausgeführt. In unserem Fall wird eine Nachricht ausgegeben und der Standardwert `’Unbekannt’` für das Hobby zugewiesen.

Schlüssel überprüfen

Eine weitere Möglichkeit, einen `KeyError` zu vermeiden, besteht darin, zuerst zu überprüfen, ob ein Schlüssel im Dictionary vorhanden ist, bevor Du auf den Wert zugreifst. Du kannst dies mit dem `in`-Operator tun:

if 'hobby' in person:
    hobby = person['hobby']
else:
    print("Schlüssel 'hobby' nicht gefunden")
    hobby = 'Unbekannt'

In diesem Beispiel überprüfen wir, ob der Schlüssel `’hobby’` im Dictionary `person` vorhanden ist. Wenn dies der Fall ist, greifen wir auf den Wert zu, andernfalls weisen wir den Standardwert `’Unbekannt’` zu und geben eine entsprechende Nachricht aus.

Durch den sorgfältigen Umgang mit Dictionaries und die Berücksichtigung von Fehlerbehandlungsmethoden kannst Du die Robustheit und Zuverlässigkeit Deiner Python-Programme erhöhen und unerwartete `KeyError`-Probleme vermeiden.

Dictionaries sind in Python unglaublich vielseitig und bieten eine Fülle von Methoden, um Schlüssel-Wert-Paare hinzuzufügen, zu ändern, zu löschen oder darauf zuzugreifen. Sie eignen sich besonders für Situationen, in denen Du Daten anhand von Schlüsseln verwalten und schnell darauf zugreifen möchtest. Insgesamt sind Dictionaries eine leistungsstarke und flexible Datenstruktur, die das Python-Ökosystem bereichert und die Programmierung effizienter und angenehmer gestaltet.