# Python – Assign Reversed Values in Dictionary

• Difficulty Level : Expert
• Last Updated : 01 Aug, 2020

Given a dictionary, assign each key, values after reverting the values of dictionary.

Input : {1 : 4, 2 : 5, 3 : 6}
Output : {1 : 6, 2 : 5, 3 : 4}
Explanation : Value order changed, 4, 5, 6 to 6, 5, 4.

Input : {1 : 5, 2 : 5, 3 : 5}
Output : {1 : 5, 2 : 5, 3 : 5}
Explanation : Same values, no visible change.

Method #1 :  Using values() + loop + reversed()

This is one of the ways in which this task can be performed. In this, we reverse all the values in dictionary using reversed() and reassign to keys.

## Python3

 # Python3 code to demonstrate working of # Assign Reversed Values in Dictionary# Using reversed() + loop + values()  # initializing dictionarytest_dict = {1 : "Gfg", 2 : "is", 3 : "Best"}  # printing original dictionaryprint("The original dictionary is : " + str(test_dict))  # extract values using values()new_val = list(reversed(list(test_dict.values())))  # reassign new valuesres = dict()cnt = 0for key in test_dict:    res[key] = new_val[cnt]    cnt += 1  # printing result print("Reassigned reverse values : " + str(res))
Output
The original dictionary is : {1: 'Gfg', 2: 'is', 3: 'Best'}
Reassigned reverse values : {1: 'Best', 2: 'is', 3: 'Gfg'}

Method #2 : Using dictionary comprehension + reversed() + values()

The combination of above functions can be used to solve this problem. In this, we perform the task of remaking reversed dictionary using dictionary comprehension recipe for one-liner solution.

## Python3

 # Python3 code to demonstrate working of # Assign Reversed Values in Dictionary# Using dictionary comprehension + reversed() + values()  # initializing dictionarytest_dict = {1 : "Gfg", 2 : "is", 3 : "Best"}  # printing original dictionaryprint("The original dictionary is : " + str(test_dict))  # extract values using values()new_val = list(reversed(list(test_dict.values())))  # one-liner dictionary comprehension approach# enumerate for counterres = {key : new_val[idx] for idx, key in enumerate(list(test_dict.keys()))}  # printing result print("Reassigned reverse values : " + str(res))
Output
The original dictionary is : {1: 'Gfg', 2: 'is', 3: 'Best'}
Reassigned reverse values : {1: 'Best', 2: 'is', 3: 'Gfg'}

My Personal Notes arrow_drop_up