Here are several ways to iterate over a dictionary in Python:
(1) Iterate over the keys of a dictionary:
for key in my_dict.keys(): print(key)
(2) Iterate over the values of a dictionary:
for value in my_dict.values(): print(value)
(3) Iterate over both the keys and values of a dictionary:
for key, value in my_dict.items(): print(key, value)
At the end, you’ll also see how to iterate over both the keys and values of a dictionary, and then save the results in a new dictionary.
Examples of Iterating over a Dictionary in Python
Example 1: Iterate over the keys of a dictionary
In the following example, the keys of a simple dictionary would be printed:
my_dict = {1: 'blue', 2: 'green', 3: 'red', 4: 'yellow', 5: 'orange'} for key in my_dict.keys(): print(key)
Here are the keys that you’ll get after iterating over the dictionary:
1
2
3
4
5
Example 2: Iterate over the values of a dictionary
Next, the values of a dictionary would be printed:
my_dict = {1: 'blue', 2: 'green', 3: 'red', 4: 'yellow', 5: 'orange'} for value in my_dict.values(): print(value)
As you can see, the values of the dictionary are now printed:
blue
green
red
yellow
orange
Example 3: Iterate over both the keys and values of a dictionary
Here, both the keys and values of a dictionary would be printed:
my_dict = {1: 'blue', 2: 'green', 3: 'red', 4: 'yellow', 5: 'orange'} for key, value in my_dict.items(): print(key, value)
The result:
1 blue
2 green
3 red
4 yellow
5 orange
Iterating over a dictionary, and saving the results in a new dictionary
Let’s now iterate over a dictionary, and then save the results in a new dictionary (called new_dict).
In this example, each key would be increment by 1:
my_dict = {1: 'blue', 2: 'green', 3: 'red', 4: 'yellow', 5: 'orange'} new_dict = {} for key, value in my_dict.items(): new_dict[key+1] = value print(new_dict)
As you can see, the keys of the new dictionary are now incremented by 1 (compared to the original dictionary):
{2: 'blue', 3: 'green', 4: 'red', 5: 'yellow', 6: 'orange'}
Finally, let’s increment each key by 1, and also add the word ‘color’ after each value:
my_dict = {1: 'blue', 2: 'green', 3: 'red', 4: 'yellow', 5: 'orange'} new_dict = {} for key, value in my_dict.items(): new_dict[key+1] = value + ' color' print(new_dict)
The result:
{2: 'blue color', 3: 'green color', 4: 'red color', 5: 'yellow color', 6: 'orange color'}