Dado un diccionario { k1: v1, k2: v2 ... }
Deseo obtener { k1: f(v1), k2: f(v2) ... }
siempre que pase una función f
.Mapeo de valores en un diccionario Python
¿Existe alguna función integrada? O tengo que hacer
dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()])
Idealmente me acaba de escribir
my_dictionary.map_values(f)
o
my_dictionary.mutate_values_with(f)
Es decir, no me importa si el diccionario original se muta o se crea una copia
Una mejor manera de escribir su ejemplo sería 'dict ((k, f (v)) para k, v en mydict.iteritems())', es decir, sin los corchetes, que impediría la creación de una lista intermedia a través de un generador. – bereal