Iterate over a dictionary in Python

Dictionary in Python is an unordered collection of data values, used to store data values like a map, which unlike other Data Types that hold only single value as an element, Dictionary holds key:value pair.

There are multiple ways to iterate over a dictionary in Python.

  • Iterate through all keys
  • Iterate through all values
  • Iterate through all key, value pairs

Iterate through all keys:



The order of states in the below code will change every time because the dictionary doesn’t store keys in a particular order.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to iterate through all keys in a dictionary
  
statesAndCapitals = {
                     'Gujarat' : 'Gandhinagar',
                     'Maharashtra' : 'Mumbai',
                     'Rajasthan' : 'Jaipur',
                     'Bihar' : 'Patna'
                    }
                      
print('List Of given states:\n')
  
# Iterating over keys
for state in statesAndCapitals:
    print(state)

chevron_right


Output:

List Of given states:

Rajasthan
Bihar
Maharashtra
Gujarat

In order to maintain the order of keys and values in a dictionary, use OrderedDict.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to iterate through all keys 
# in a dictionary in a specific order
  
from collections import OrderedDict
  
statesAndCapitals = OrderedDict([
                                 ('Gujarat', 'Gandhinagar'),
                                 ('Maharashtra', 'Mumbai'),
                                 ('Rajasthan', 'Jaipur'),
                                 ('Bihar', 'Patna')
                                ])
                      
print('List Of given states:\n')
  
# Iterating over keys
for state in statesAndCapitals:
    print(state)

chevron_right


Output:

List Of given states:

Gujarat
Maharashtra
Rajasthan
Bihar

Above dictionary is an OrderedDict as the keys and values are stored in the order in which they were defined in the dictionary. Hence the above method should be used when we want to maintain the order of (key, value) stored in the dictionary.

 
Iterate through all values:

Again, in this case, the order in which the capitals are printed in the below code will change every time because the dictionary doesn’t store them in a particular order.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to iterate through all values in a dictionary
  
statesAndCapitals = {
                     'Gujarat' : 'Gandhinagar',
                     'Maharashtra' : 'Mumbai',
                     'Rajasthan' : 'Jaipur',
                     'Bihar' : 'Patna'
                    }
                      
print('List Of given capitals:\n')
  
# Iterating over values
for capital in statesAndCapitals.values():
    print(capital)

chevron_right


Output:

List Of given capitals:

Gandhinagar
Jaipur
Mumbai
Patna

 

Iterate through all key, value pairs:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to iterate through all key, value 
# pairs in a dictionary
  
statesAndCapitals = {
                     'Gujarat' : 'Gandhinagar',
                     'Maharashtra' : 'Mumbai',
                     'Rajasthan' : 'Jaipur',
                     'Bihar' : 'Patna'
                    }
                      
print('List Of given states and their capitals:\n')
  
# Iterating over values
for state, capital in statesAndCapitals.items():
    print(state, ":", capital)

chevron_right


Output:

List Of given states and their capitals:

Bihar : Patna
Gujarat : Gandhinagar
Rajasthan : Jaipur
Maharashtra : Mumbai


My Personal Notes arrow_drop_up

I like solving puzzles

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.