Ich habe eine Liste wie unten angegeben -
%Vor%Wie kann ich ein dynamisches Wörterbuch erstellen, das wie folgt abgerufen werden kann -
%Vor%Die Liste könnte alles sein; Variable Länge oder bestehend aus "N" Anzahl der mir unbekannten Elemente ...
Jetzt habe ich noch eine Liste, so dass Mein Wörterbuch entsprechend aktualisiert werden sollte
%Vor%d. Wenn Schlüssel "Person", "Männlich", "Junge", "Student", "id_123" bereits vorhanden ist, sollte der neue Schlüssel "Alter" angehängt werden ...
Ich lerne gerade Python, also könnte mein Code nicht sehr pythonisch sein, aber hier ist mein Code
%Vor%Erstellen Sie Ihre eigene Klasse, die von dict abgeleitet ist, wobei die init -Methode eine Liste und einen einzelnen Wert als Eingaben annimmt und die Liste der Schlüsselwerte durchläuft, eine Aktualisierungsmethode definiert, die eine Liste annimmt ein neuer Wert und für jedes Element, das noch kein Schlüssel ist, setze es auf den neuen Wert (vorausgesetzt, dass du das brauchst).
Vergessen Sie die Idee von
mydict ["Person"] ["Männlich"] ["Junge"] ["Student"] ["id_123"] ["Name"] = value1 '
, da es mit Subindizes verwechselt wird.
Ich versuche, mit ähnlichen Dingen umzugehen, also kann ich einige Richtlinien vorschlagen, aber ich bin wieder naiv in Python, also ist dies nur eine Richtlinie ...
Sie haben eine Liste von Schlüsseln , Sie können also auf jeden Fall mit einer Schleife beginnen, die für jeden Wert iteriert, und dann den Wert
zuweisenwie
%Vor%Wenn Sie etwas tun, müssen Sie i erhöhen und den Index zu [i] [i + 1] ändern und dann bis i + n = len (Tasten)
folgen Verwenden Sie tuple(keyList1)
als Schlüssel. (Tupel sind unveränderlich und können daher Diktatschlüssel sein).
Sie werden eine Welt der Kopfschmerzen mit dem geschachtelten Diktat-Ansatz haben. (Nested Loops für die Enumeration, Legacy-Daten, wenn sich die Hierarchie ändern muss, usw.).
Bei einem zweiten Gedanken sollten Sie vielleicht eine Personenklasse definieren
%Vor%Verwenden Sie dann eine Liste aller Personen und filtern Sie mit z. B.
%Vor%... für & lt; = 10000 Studenten sollten Sie performanceweise gut sein.
Tags und Links python dictionary