Seite 1 von 1

Auf ein verschachteltes dictionary zugreifen

Verfasst: Montag 27. September 2004, 11:49
von HarryH
Hallo,

Ich möchte gerne auf ein verschachteltes Dictionary zugreifen.
z.B

Code: Alles auswählen

d={"Pos": {"Bearbeitung": {"Programm": {"124":"0", "125":"1", "126":"2", "127":"3"}}}}
Zur Verfügung steht mir eine Liste der Schlüssel:
z.B.

Code: Alles auswählen

schluessel=["Pos", "Bearbeitung", "Programm"]
Ich kann nun natürlich so darauf zugreifen:

Code: Alles auswählen

d[schluessel[0]][schluessel[1]][schluessel[2]]
Aber die Menge der Schlüssel variiert in meinem Programm. So müsste ich für jede Schlüsselanzahl einen eigenen Indexstring schreiben mit dem ich dann auf mein ditionary zugreifen kann.
Hat jemand eine Idee das besser zu lösen? Könnte man diesen Indexstring auch über eine Schleife konstruieren?
Ich habe mich schon daran versucht, bin aber noch auf keine bessere Möglichkeit gekommen. Vielleicht hat von euch jemand eine Idee? :D

Verfasst: Montag 27. September 2004, 12:47
von Dookie
Hi HarryH,

Code: Alles auswählen

def get_from_path(d, path):
    result = d
    for key in path:
        result = result[key]
    return result

d={"Pos": {"Bearbeitung": {"Programm": {"124":"0", "125":"1", "126":"2", "127":"3"}}}}

schluessel=["Pos", "Bearbeitung", "Programm"]

wert = get_from_path(d, schluessel)
print wert
Gruß

Dookie

re:

Verfasst: Montag 27. September 2004, 12:53
von HarryH
Hallo Dookie,

Super! Das ist genau das was ich brauche und ist eigentlich ganz einfach! :oops:
Nochmals vielen Dank, auch weil es so schnell ging!