Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python ein unendlich verschachteltes Standarddikt erstellen?
Wie kann man ein unendlich verschachteltes Defaultdict erstellen? Mit anderen Worten: Ist es möglich, den Standardwert eines defaultdict auf ein anderes defaultdict festzulegen? Dies würde verschachtelte Strukturen beliebiger Tiefe ermöglichen, die bei Bedarf automatisch die erforderlichen Wörterbücher erstellen.
Betrachten Sie beispielsweise den folgenden Code:
x = defaultdict(...stuff...) x[0][1][0] {}
In diesem Szenario würde x[0] gelten ein Standarddikt sein, x[0][1] wäre ein anderes Standarddikt und x[0][1][0] wäre ein Standard Wörterbuch.
Es ist zwar möglich, ein Defaultdict zu erstellen, das andere Defaultdicts enthält, es wird jedoch nicht direkt von den Standard-Defaultdict-Argumenten unterstützt. Es gibt jedoch eine einfache Problemumgehung, die mehrstufige verschachtelte Defaultdicts ermöglicht.
Anstatt den Standardwert als ein weiteres Defaultdict zu definieren, definieren Sie den Standardwert als Lambda-Funktion, die ein Defaultdict zurückgibt:
x = defaultdict(lambda: defaultdict(dict))
Dieser Code erstellt ein zweistufiges Standarddikt, wobei x[0] ein Standarddikt und x[0][1] ein weiteres Standarddikt ist, mit Werten von Wörterbücher.
Für eine Verschachtelung auf unendlicher Ebene fügen Sie einfach zusätzliche Ebenen zur Lambda-Funktion hinzu:
x = defaultdict(lambda: defaultdict(lambda: defaultdict(...)))
Diese Problemumgehung ermöglicht die Erstellung beliebig verschachtelter Defaultdicts und bietet so eine bequeme Möglichkeit, komplexe Daten zu verwalten Strukturen mit automatischer Wertschöpfung.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python ein unendlich verschachteltes Standarddikt erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!