Gibt es eine pythonische Möglichkeit, baumstrukturierte Diktatschlüssel zu verarbeiten?

8

Ich suche nach einem Python-Idiom, um eine Liste von Schlüsseln und einem Wert in ein Dict mit diesen verschachtelten Schlüsseln umzuwandeln. Zum Beispiel:

%Vor%

würde das verschachtelte dict zurückgeben:

%Vor%

Dies könnte verwendet werden, um eine Reihe von Werten mit hierarchischen Schlüsseln in einen Baum zu verwandeln:

%Vor%

Ich könnte etwas FORTRANish-Code schreiben, um die Konvertierung mit Brute-Force und mehreren Loops und vielleicht collections.defaultdict zu machen, aber es scheint wie eine Sprache mit Splits und Joins und Slices und Comprehensions sollte ein primitives haben, das eine Liste von Strings ["a","b","c"] in verschachtelte dict keys ["a"]["b"]["c"] . Was ist der kürzeste Weg, dies zu tun, ohne eval in einer dict-Ausdruckszeichenfolge zu verwenden?

    
Dave 20.07.2016, 19:59
quelle

2 Antworten

11
  

Ich suche nach einem Python-Idiom, um eine Liste von Schlüsseln und einem Wert in ein Dict mit diesen verschachtelten Schlüsseln umzuwandeln.

%Vor%
  

Dies könnte verwendet werden, um eine Reihe von Werten mit hierarchischen Schlüsseln in eine Struktur zu verwandeln

%Vor%

Eine weitere Gesamtlösung mit collections.defaultdict

%Vor%     
Michael Hoff 20.07.2016, 20:05
quelle
0

Oder nur für grins, da reduce das coolste ist, seit du Brot geschnitten hast, könntest du einen SLOC speichern, indem du ihn zweimal verwendest: -)

%Vor%     
Dave 23.07.2016 19:16
quelle

Tags und Links