Last Updated : 22 Nov, 2021
In this article, we will learn how to iterate through a list of dictionaries.
List of dictionaries in use:
Method 1: Using indexing[{'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'}]
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:
Method 2: Using keys()Python : Machine Learning
R : Machine learning
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:
Method 3: Using list comprehensionPython
R
-------------
Python
Java Script
HTML
-------------
C++
Python
-------------
Java
Kotlin
-------------
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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4