Frage:
Wie kann man ein mehrstufiges Wörterbuch erstellen? mit einer variablen Tiefe, gegeben eine Liste verschachtelter Werte? Betrachten Sie die folgende Beispielliste:
<code>[A][B1][C1] = 1 [A][B1][C2] = 2 [A][B2] = 3 [D][E][F][G] = 4</code>
Die gewünschte Ausgabe ist ein mehrstufiges Wörterbuch, das der folgenden Struktur ähnelt:
<code>A --B1 -----C1 = 1 -----C2 = 1 --B2 = 3 D --E ----F ------G = 4</code>
Lösung:
Mit dem defaultdict
aus dem Modul collections
kann man dynamisch verschachtelte Wörterbücher erstellen, ohne dass Einfügungsanweisungen fest codiert werden müssen. Das defaultdict
gibt einen Standardwert zurück, wenn kein vorhandener Schlüssel gefunden wird. So kann es implementiert werden:
<code class="python">from collections import defaultdict # Define a function to create a nested dictionary with any level of depth nested_dict = lambda: defaultdict(nested_dict) # Create the nested dictionary using the nested_dict function nest = nested_dict() # Populate the nested dictionary with the given data nest[0][1][2][3][4][5] = 6 print(nest)</code>
Dieser Code erstellt ein verschachteltes Wörterbuch mit einer Tiefe von 7, wobei der Wert für den Schlüssel [0][1][2][3][4][5]
auf 6 gesetzt ist. Auf das verschachtelte Wörterbuch kann über zugegriffen werden die gleiche Schlüsselstruktur, die eine dynamische Erstellung und den Abruf von Daten auf verschiedenen Ebenen ermöglicht.
Das obige ist der detaillierte Inhalt vonWie erstellt man bei einer verschachtelten Liste ein mehrstufiges Wörterbuch mit variabler Tiefe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!