Учитывая словарь { k1: v1, k2: v2 ... }
, я хочу получить { k1: f(v1), k2: f(v2) ... }
при условии, что я передаю функцию f
.
Есть ли такая встроенная функция? Или мне нужно сделать
dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()])
В идеале я бы просто написал
my_dictionary.map_values(f)
or
my_dictionary.mutate_values_with(f)
То есть для меня не имеет значения, был ли изменен исходный словарь или создана его копия.
dict((k, f(v)) for k, v in mydict.iteritems())
, то есть без квадратных скобок, что предотвратило бы создание промежуточного списка через генератор. - person bereal   schedule 01.09.2012