Skip to content

Using map with a dictionary in Python

When you have a dictionary in Python like this :

   mydict={'first':1, 'second':2, 'third':3}

and you want to get the values into a list with a certain order you can do this :

   mylist=[mydict['first'], mydict['second'], mydict['third']]

However, that can get a bit verbose if there are a lot of entries. For every entry you have to repeat ‘mydict’. An elegant way of solving this is using the map function :

   mylist=map(mydict.get,['first', 'second', 'third'])

This applies to ‘get’ function of mydict to each of the arguments given in the list. This ‘get’ function is the equivalent of calling mydict['some index'] .

List comprehensions can be used a lot of times instead of map. That’s the case here as well :

   mylist=[mydict[x] for x in ['first','second','third']]

This is arguably easier to understand than the version using map.

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*