Frage:
Ist es möglich, ein Standarddikt zu erstellen, das auch als dient den Standardwert für sich selbst, was zu einem rekursiven Standarddikt auf unendlicher Ebene führt? Das Ziel besteht darin, den Zugriff auf tief verschachtelte Elemente zu ermöglichen, ohne auf KeyError-Ausnahmen zu stoßen.
Antwort:
Während sich die anderen Antworten mit der Erstellung „unendlich vieler“ verschachtelter Defaultdicts befassen, Sie übersehen die spezifische Notwendigkeit eines zweistufigen Standarddikts. Um dies zu erreichen, kann der folgende Code verwendet werden:
defaultdict(lambda: defaultdict(dict))
Dieses Konstrukt bietet die folgenden Vorteile:
Beispiel:
x = defaultdict(lambda: defaultdict(dict)) x[0][1][0] {} # returns an empty dictionary
Das obige ist der detaillierte Inhalt vonKann ein Standarddikt rekursiv als eigener Standardwert für die unendliche Verschachtelung dienen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!