Here are 3 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)
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
To iterate over a dictionary, and then save the results in a new dictionary (called new_dict), where each key would be incremented 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, 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'}