Verwendung von assoziativen Arrays

Python:
Verwendung von assoziativen Arrays

Wie geht das:

Ein Dictionary in Python zu erstellen, ist unkompliziert. Man schließt Schlüssel-Wert-Paare in geschweifte Klammern {}, wobei Schlüssel und Werte durch einen Doppelpunkt getrennt sind:

# Ein assoziatives Array (Dictionary) erstellen
my_dict = {"name": "John", "age": 30, "city": "New York"}
print(my_dict)

Ausgabe:

{'name': 'John', 'age': 30, 'city': 'New York'}

Auf einen Wert über seinen Schlüssel zuzugreifen, ist einfach:

# Auf einen Wert zugreifen
print(my_dict["name"])

Ausgabe:

John

Das Hinzufügen oder Aktualisieren von Elementen erfolgt durch Zuweisen eines Werts zu einem Schlüssel:

# Ein neues Schlüssel-Wert-Paar hinzufügen
my_dict["email"] = "[email protected]"
# Einen Wert aktualisieren
my_dict["age"] = 31
print(my_dict)

Ausgabe:

{'name': 'John', 'age': 31, 'city': 'New York', 'email': '[email protected]'}

Um über die Elemente des Dictionaries zu iterieren:

# Durch Schlüssel-Wert-Paare iterieren
for key, value in my_dict.items():
    print(f"{key}: {value}")

Ausgabe:

name: John
age: 31
city: New York
email: [email protected]

Tiefergehend

Assoziative Arrays in Python, oder Dictionaries, wurden eingeführt, um eine Datenstruktur für effizienten Datenzugriff und -manipulation zu bieten. Anders als Sequenzen, die durch eine Reihe von Zahlen indiziert sind, werden Dictionaries durch Schlüssel indiziert, die jeden unveränderlichen Typ annehmen können. Diese Designentscheidung macht Dictionaries ideal geeignet für schnelle Nachschlagetabellen, in denen Schlüssel eindeutige Werte zugeordnet sind.

Historisch gesehen wurden Python-Dictionaries mithilfe einer Hash-Tabelle implementiert, was sicherstellt, dass die durchschnittliche Zeitkomplexität für Such-, Einfüge- und Löschoperationen O(1) ist. Ab Python 3.6 behalten Dictionaries auch die Einfügereihenfolge der Elemente bei, was die Vorteile von Hash-Tabellen mit der Vorhersehbarkeit der Einfügereihenfolge, wie bei geordneten Datenstrukturen zu sehen, verbindet.

Obwohl Dictionaries unglaublich vielseitig sind, könnten in einigen spezialisierten Fällen Alternativen wie collections.defaultdict oder collections.OrderedDict (vor Python 3.7) vorzuziehen sein. defaultdict ist besonders nützlich, wenn ein Dictionary für nicht vorhandene Schlüssel einen Standardwert zurückgeben soll, was bestimmte Arten von bedingter Logik vereinfacht. Jedoch bleibt die eingebaute Dictionary-Klasse mit der kontinuierlichen Verbesserung und Evolution von Python oft die erste Wahl für assoziative Arrays wegen ihrer Robustheit und der Bequemlichkeit, die sie direkt aus der Box bietet.