Ich bin fest, herauszufinden, wie Sie das Folgende tun. Ich habe ein dict x = {}
. Ich habe auch zwei Strings 'a/b/c/d'
und 'e/f/g'
. In jedem Fall möchte ich Werte zu dict x hinzufügen, z. B. x[a][b][c] = 'd'
und x[e][f] = 'g'
.Anhängen an eine X-Dimension ohne Angabe der Dimension
Gibt es eine Möglichkeit, Python zu sagen, wie tief ich "d" oder "g" setzen möchte, ohne einen vollständigen Pfad angeben zu müssen?
Meine aktuelle Lösung sieht sehr hässlich aus und ich suche nach einer besseren Möglichkeit, dies zu tun.
x = {'a': {'b': {'c': {}}}, 'e': {'f': {}}}
s = 'a/b/c/d'.split('/')
if len(s) == 4:
x[s[0]][s[1]][s[2]] = s[3]
elif len(s) == 3: #x[e][f] case
x[s[0]][s[1]] = s[2]
Es gibt verschiedene Möglichkeiten, kann sich bei Ihrem Anwendungsfall abhängig. Wofür brauchst du das? – kazemakase
Warum nicht nur ein Diktat mit {'abc': None, 'ef': None} als Schlüssel? .. –
@kazemakase, ich muss eine vollständige Verzeichnisstruktur erstellen, die über Web-UI-Links zu diesen Verzeichnissen iteriert. – fieryvova