Problem Formulation and Solution Overview
Method 1: Use Dictionary Comprehension
This method uses a Dictionary Comprehension
and a For
loop to access the key:value pairs by calling users.items()
. Each pair is evaluated, and the key:value pairs are reversed.
users = {'wildone92': 30022145, 'AliceM': 30022359, 'kirbster': 30022467} reverse_me = {v: k for k, v in users.items()} print(reverse_me)
This code declares a Dictionary containing three (3) key:value pairs and saves it to users
.
Next, Dictionary Comprehension
retrieves the key:value pairs by calling users.items()
. Then, a For loop iterates through each pair, reversing each username:id key:value pair to id:usernames. The result saves to reverse_me
.
Finally, the reversed Dictionary is output to the terminal.
π‘ Note: The keys and values must be unique for this code to work as expected.
Output
{30022145: 'wildone92', 30022359: 'AliceM', 30022467: 'kirbster'} |
Method 2: Use dict()
This method uses dict()
to create a new Dictionary and a For
loop to access the key:value pairs by calling dict.items()
. Each pair is evaluated, and the key:value pairs are reversed.
users = {'wildone92': 30022145, 'AliceM': 30022359, 'kirbster': 30022467} reverse_me = dict((v, k) for k, v in users.items()) print(reverse_me)
This code declares a Dictionary with three (3) key:value pairs and saves it to users
.
Next, a new Dictionary (dict()
) is created and retrieves the key:value pairs in users
as value:key ((v, k)
) thus reversing the contents. Then, the reversed content (for k, v in users.items())
) saves to reverse_me
.
Finally, the reversed Dictionary is output to the terminal.
π‘ Note: The keys and values must be unique for this code to work as expected.
Output
{30022145: 'wildone92', 30022359: 'AliceM', 30022467: 'kirbster'} |
Method 3: Use dict() and map()
This method is used dict()
to create a new Dictionary and map()
convert an iterable into a new one. By passing reversed
as an argument to map()
the key:value pairs are automatically reversed.
users = {'wildone92': 30022145, 'AliceM': 30022359, 'kirbster': 30022467} reverse_me = dict(map(reversed, users.items())) print(reverse_me)
This code declares a Dictionary with three (3) key: value pairs and saves it to users
.
Next, a new Dictionary (
) is created and retrieves the key:value pairs by calling dict()
users.items()
. Then, the argument reversed
is passed to map()
which reverses the key:value pairs. The result saves to reverse_me
.
Finally, the reversed Dictionary is output to the terminal.
π‘ Note: The keys and values must be unique for this code to work as expected.
Output
{30022145: 'wildone92', 30022359: 'AliceM', 30022467: 'kirbster'} |
Method 4: Use dict()
and zip()
This method uses dict()
to create a new Dictionary and zip()
to create an iterable Tuple to pass users.values()
, and users.keys()
in that order to reverse the contents.
users = {'wildone92': 30022145, 'AliceM': 30022359, 'kirbster': 30022467} reverse_me = dict(zip(users.values(), users.keys())) print(reverse_me)
This code declares a Dictionary with three (3) key: value pairs and saves it to users
.
Next, a new Dictionary (
) is created and dict()
zip()
is called. By passing users.values()
and users.keys()
as arguments to zip()
in that order, the key:value pairs are reversed as value:key pairs. The result saves to reverse_me
.
Finally, the reversed Dictionary is output to the terminal.
π‘ Note: The keys and values must be unique for this code to work as expected.
Output
{30022145: 'wildone92', 30022359: 'AliceM', 30022467: 'kirbster'} |
Method 5: Use a Lambda
This method uses a
, dict()
map()
, and a Lambda
to loop through the key:value pairs of users
and reverse the contents.
users = {'wildone92': 30022145, 'AliceM': 30022359, 'kirbster': 30022467} reverse_me = dict(map(lambda key: (users[key], key), users.keys())) print(reverse_me)
This code declares a Dictionary with three (3) key: value pairs and saves it to users
.
Next, a new Dictionary (
) is created and dict()
map()
is used to create a new object. Lambda
is used to access each key:value pair and reverse the contents. The result saves to reverse_me
.
Finally, the reversed Dictionary is output to the terminal.
π‘ Note: The keys and values must be unique for this code to work as expected.
Output
{30022145: 'wildone92', 30022359: 'AliceM', 30022467: 'kirbster'} |
Bonus: Reverse for Duplicate
This example contains one (1) duplicate user, AliceM. Running this code will remove the duplicate key:value pair from users
and reverse the order of the remaining entries.
users = {'wildone92': 30022145, 'AliceM': 30022359, 'kirbster': 30022467, 'AliceM': 30022359} reverse_me = {} for k, v in users.items(): reverse_me[v] = k print(reverse_me)
This code declares a Dictionary with four (4) key: value pairs, containing one (1) duplicate key:value pair, and saves it to users
.
A For
loop is instantiated to loop through all key:value pairs found in users.items()
. If the key:value pair is unique, the contents are reversed and appended to reverse_me
.
Finally, the reversed Dictionary is output to the terminal.
Output
{30022145: 'wildone92', 30022359: 'AliceM', 30022467: 'kirbster'} |