Reverse / invert a dictionary mapping

前端 未结 26 2278
一整个雨季
一整个雨季 2020-11-21 11:47

Given a dictionary like so:

my_map = {\'a\': 1, \'b\': 2}

How can one invert this map to get:

inv_map = {1: \'a\', 2: \'b\'         


        
26条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2020-11-21 12:15

    Since dictionaries require one unique key within the dictionary unlike values, we have to append the reversed values into a list of sort to be included within the new specific keys.

    def r_maping(dictionary):
        List_z=[]
        Map= {}
        for z, x in dictionary.iteritems(): #iterate through the keys and values
            Map.setdefault(x,List_z).append(z) #Setdefault is the same as dict[key]=default."The method returns the key value available in the dictionary and if given key is not available then it will return provided default value. Afterward, we will append into the default list our new values for the specific key.
        return Map
    

提交回复
热议问题