In this article, we will learn how to iterate through a list of dictionaries.
List of dictionaries in use:
[{‘Python’: ‘Machine Learning’, ‘R’: ‘Machine learning’},
{‘Python’: ‘Web development’, ‘Java Script’: ‘Web Development’, ‘HTML’: ‘Web Development’},
{‘C++’: ‘Game Development’, ‘Python’: ‘Game Development’}, {‘Java’: ‘App Development’, ‘Kotlin’: ‘App Development’}]
Method 1: Using indexing
This is a direct method, where list elements are extracted using just the index.
Syntax:
list[index]
Example:
Python3
# Create a list of dictionaries languages = [ { "Python" : "Machine Learning" , "R" : "Machine learning" , }, { "Python" : "Web development" , "Java Script" : "Web Development" , "HTML" : "Web Development" }, { "C++" : "Game Development" , "Python" : "Game Development" }, { "Java" : "App Development" , "Kotlin" : "App Development" } ] print (languages[ 0 ]) print (languages[ 1 ]) print (languages[ 2 ]) print (languages[ 3 ]) |
Output:
{‘Python’: ‘Machine Learning’, ‘R’: ‘Machine learning’}
{‘Python’: ‘Web development’, ‘Java Script’: ‘Web Development’, ‘HTML’: ‘Web Development’}
{‘C++’: ‘Game Development’, ‘Python’: ‘Game Development’}
{‘Java’: ‘App Development’, ‘Kotlin’: ‘App Development’}
After using indexing to particular dictionaries, now we can treat each item of the list as a dictionary,
Example: Extracting values from a particular dictionary
Python3
# Create a list of dictionaries languages = [ { "Python" : "Machine Learning" , "R" : "Machine learning" , }, { "Python" : "Web development" , "Java Script" : "Web Development" , "HTML" : "Web Development" }, { "C++" : "Game Development" , "Python" : "Game Development" }, { "Java" : "App Development" , "Kotlin" : "App Development" } ] for key, val in languages[ 0 ].items(): print ( "{} : {}" . format (key, val)) |
Output:
Python : Machine Learning
R : Machine learning
Method 2: Using keys()
After iterating to a list the keys from the dictionary can further be extracted using the keys() function.
Example: Extracting key values
Python3
# Create a list of dictionaries languages = [ { "Python" : "Machine Learning" , "R" : "Machine learning" , }, { "Python" : "Web development" , "Java Script" : "Web Development" , "HTML" : "Web Development" }, { "C++" : "Game Development" , "Python" : "Game Development" }, { "Java" : "App Development" , "Kotlin" : "App Development" } ] # iterate over the list for i in languages: # now i is a dict, now we see the keys # of the dict for key in i.keys(): # print every key of each dict print (key) print ( "-------------" ) |
Output:
Python
R
————-
Python
Java Script
HTML
————-
C++
Python
————-
Java
Kotlin
————-
Method 3: Using list comprehension
The list is simply iterated using list comprehension and the dictionaries are printed.
Example: Extracting keys using list comprehension
Python3
# Create a list of dictionaries languages = [ { "Python" : "Machine Learning" , "R" : "Machine learning" , }, { "Python" : "Web development" , "Java Script" : "Web Development" , "HTML" : "Web Development" }, { "C++" : "Game Development" , "Python" : "Game Development" }, { "Java" : "App Development" , "Kotlin" : "App Development" } ] # here we are printing the keys of the dictionary # by using list comprehension and each key will be # printed in a new line due to the presence of " sep = "\n" ". # It will add a new line character to our output. print ( * [key for i in languages for key in i.keys()], sep = "\n" ) |
Output:
Python
R
Python
Java Script
HTML
C++
Python
Java
Kotlin