HOWTO · Python
Verschachteltes Dictionary in Python
Dieses Tutorial demonstriert, wie man verschachtelte Wörterbücher in Python erstellt und verwendet
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'}}