Skip to content

Home

Map dictionary values

Have you ever wanted to create a dictionary with the same keys as the provided dictionary and values generated by running the provided function for each value? Luckily, there's a quick and easy way to do this in Python.

Using dict.items(), you can iterate over the dictionary. Then, you can assign the values produced by the function to each key of a new dictionary. And that's it!

def map_values(obj, fn):
  return dict((k, fn(v)) for k, v in obj.items())

users = {
  'fred': { 'user': 'fred', 'age': 40 },
  'pebbles': { 'user': 'pebbles', 'age': 1 }
}
map_values(users, lambda u : u['age']) # {'fred': 40, 'pebbles': 1}

More like this

Start typing a keyphrase to see matching snippets.