Ich habe einen beliebig großen Satz verschachtelter Wörterbücher:
%Vor% und ich möchte grundsätzlich eine Funktion auf alle Ganzzahlen in den Wörterbüchern anwenden, so wie map
, denke ich, aber für verschachtelte Wörterbücher.
Also: map_nested_dicts(x, lambda v: v + 7)
wäre die Art von Ziel.
Ich bin fest, wie ich die Schlüsselschichten am besten speichern kann, um den geänderten Wert wieder an die richtige Position zu bringen.
Was wäre der beste Weg dazu?
Besuchen Sie alle verschachtelten Werte rekursiv:
%Vor%In einigen Fällen ist es wünschenswert, das ursprüngliche dict-Objekt zu ändern (um es nicht neu zu erstellen):
%Vor%Wenn Sie Python 3 verwenden:
ersetzen Sie dict.iteritems
durch dict.items
ersetzen Sie import collections
durch import collections.abc
ersetzen Sie collections.Mapping
durch collections.abc.Mapping
Tags und Links python loops python-2.7 dictionary