How to Iterate over a Dictionary in Python

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'}