Étant donné un dictionnaire que { k1: v1, k2: v2 ... }
je veux obtenir, { k1: f(v1), k2: f(v2) ... }
je passe une fonction f
.
Existe-t-il une telle fonction intégrée? Ou dois-je faire
dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()])
Idéalement, j'écrirais
my_dictionary.map_values(f)
ou
my_dictionary.mutate_values_with(f)
Autrement dit, peu importe que le dictionnaire d'origine soit muté ou qu'une copie soit créée.
dict((k, f(v)) for k, v in mydict.iteritems())
, c'est-à-dire sans les crochets, d'empêcher la création d'une liste intermédiaire via un générateur.