Gegeben ein Wörterbuch { k1: v1, k2: v2 ... }
Ich möchte { k1: f(v1), k2: f(v2) ... }
erhalten, vorausgesetzt ich übergebe eine Funktion f
.Mapping über Werte in einem Python-Wörterbuch
Gibt es eine solche eingebaute Funktion? Oder muss ich
dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()])
zu tun haben Idealerweise würde ich schreiben gerade
my_dictionary.map_values(f)
oder
my_dictionary.mutate_values_with(f)
Das heißt, spielt es keine Rolle für mich, wenn das ursprüngliche Wörterbuch mutiert oder Eine Kopie wird erstellt.
Eine bessere Art und Weise des Schreibens Ihr Beispiel wäre 'dict ((k, f (v)) für k, v in mydict.iteritems())', dh ohne die eckigen Klammern, die die Erstellung einer Zwischenliste über einen Generator verhindern würden. – bereal