Ich weiß wirklich nicht, wie sonst dieses Problem zu nennen, aber auf meinem aktuellen Projekt habe ich bereits zu viele Workarounds zu vermeiden, so dass ich um Hilfe bitten.Inhalt bewusst Wörterbuch Update
dieser Beispielcode gegeben,
def sensitive_update(sensitive, updated):
# ???
sensitive_data = {'user1': {'password' : '1234'}, 'user2': {'password': '4321'}}
updated_data = [
{'user1': {'id': 13}},
{'user2': {'password': '0000'}},
{'user3': {'id': 14}}
]
for data in updated_data:
sensitive_update(sensitive_data, data)
print(sensitive_data)
# should print
# {'user1': {'id': 13, 'password': '1234'}, 'user2': {'password': '0000'}, 'user3': {'id': 14}}
hat einen meist-builtin existiert oder einen kurzen Weg sensitive_update
Funktion des Schreibens, oder manuell durch jeden Wert eines Wörterbuchs Looping rekursiv unvermeidbar?
Edit: Zusätzliche Informationen: Funktion führt alle mergable dicts und erstellt dicts und Schlüssel, die nicht
Ist jedes Element 'updated_data' immer ein Wörterbuch mit einem einzigen Schlüssel? Und was meinst du damit, das Wörterbuch manuell zu durchlaufen? Sie sollten die "aktualisierte_Daten" -Liste durchlaufen ... nein? –
'updated_data' kann mehr als einen Schlüssel haben. Manuelles Schleifen bedeutet, dass man für jeden Schlüssel von "aktualisiert" nach dem passenden Schlüssel in "sensitive" sucht, das gleiche für Werte und ihre Werte macht und so weiter, bis ein Nicht-Diktat gefunden wird. –
updated_data * hat keine Schlüssel *. Es ist eine Liste. Bitte versuchen Sie, genau zu sein, sonst werden die Leute andere Annahmen darüber treffen, was Sie meinen, und es gibt bereits eine nicht zweideutige Terminologie, um dieses Problem zu vermeiden. –