Wie erstellt man bei einer verschachtelten Liste ein mehrstufiges Wörterbuch mit variabler Tiefe?

Patricia Arquette
Freigeben: 2024-10-17 11:10:30
Original
271 Leute haben es durchsucht

How to Construct a Multi-Level Dictionary with Variable Depth Given a Nested List?

Erstellen eines mehrstufigen Wörterbuchs mit unterschiedlicher Tiefe

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage