Verschachteltes Dictionary in Python

Manav Narula 10 Oktober 2023
Verschachteltes Dictionary in Python

Ein verschachteltes Python-Dictionary ist ein Dictionary innerhalb eines Dictionaries, wobei die Werte des äußeren Dictionaries ebenfalls Wörterbücher sind. Der folgende Code zeigt ein elementares Beispiel.

d1 = {
    0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
    1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1)

Ausgabe:

{0: {'Dept': 'Mathematics', 'Prof': 'Dr Jack'}, 1: {'Dept': 'Physics', 'Prof': 'Dr Mark'}}

Wir können auf die Elemente des Dictionaries einfach über den Schlüssel des verschachtelten Dictionaries zugreifen, wie im folgenden Beispiel gezeigt wird.

d1 = {
    0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
    1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1[0]["Dept"])

Ausgabe:

Mathematics

Hier ist 0 der Schlüssel des äußeren Dictionaries und 'Dept' der Schlüssel des inneren Dictionaries.

Wir können auch Elemente hinzufügen, wie wir es in einem normalen Python-Dictionary tun. Außerdem können wir auch ein ganzes Dictionary als Element hinzufügen. Ein Beispiel:

d1 = {
    0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
    1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
d1[2] = {"Dept": "CS", "Prof": "Dr Jay"}
print(d1[2])

Ausgabe:

{'Dept': 'CS', 'Prof': 'Dr Jay'}

Python hat einen defaultdict()-Konstruktor im Modul collections, um Wörterbücher zu erstellen und einen Standardwert zurückzugeben, wenn auf einen nicht verfügbaren Schlüssel zugegriffen wird.

Der Datentyp defaultdict() ist sehr nützlich, wenn Sie Standardwerte zurückgeben oder das Dictionary gemäß Ihren Anforderungen initialisieren wollen. Der folgende Code zeigt, wie Sie mit dieser Methode ein einfaches Dictionary erstellen können:

from collections import defaultdict

d1 = defaultdict(lambda: defaultdict(dict))
d1["key_outer_1"] = {"key_inner_1": "val1"}
d1["key_outer_2"] = {"key_inner_2": "val2"}
print(dict(d1))

Ausgabe:

{'key_outer_1': {'key_inner_1': 'val1'}, 'key_outer_2': {'key_inner_2': 'val2'}}
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python Dictionary