Iterate Through List of Dictionaries in Python

In this article, we will learn various methods to iterate through a list of dictionaries in Python. When working with data in Python, it is very common to encounter scenarios where you have a list of dictionaries. Each dictionary represents an individual data entry, and you need to perform operations or extract specific information from these dictionaries.

Using a For Loop and Dictionary Access Methods

The most straightforward approach is to use a for loop to iterate through each dictionary in the list. Inside the loop, we can use dictionary access methods like keys(), values(), or items() to retrieve the keys, values, or key?value pairs, respectively.

Syntax

keys() method returns a view object that contains the keys of the dictionary:

dictionary.keys()

values() method returns a view object that contains the values of the dictionary:

dictionary.values()

items() method returns a view object that contains the key?value pairs of the dictionary as tuples:

dictionary.items()

Example

courses_list = [
    {"course": "DBMS", "price": 1500},
    {"course": "Python", "price": 2500},
    {"course": "Java", "price": 2500},
]

for course_dict in courses_list:
    for key, value in course_dict.items():
        print(key, ":", value)
    print("")
course : DBMS
price : 1500

course : Python
price : 2500

course : Java
price : 2500

Using List Comprehension

List comprehension provides a concise way to iterate through the list of dictionaries and extract specific values. This approach is efficient when you need to create new lists from dictionary values.

Syntax

[expression for element in iterable]

Where:

  • expression: Operation that we want to perform on the element

  • element: Item present in the iterable

  • iterable: It can be a list, set, tuple, or any Python iterable

Example

courses_list = [
    {"course": "DBMS", "price": 1500},
    {"course": "Python", "price": 2500},
    {"course": "Java", "price": 2500},
]

# Extract specific values using list comprehension
courses = [dictionary["course"] for dictionary in courses_list]
prices = [dictionary["price"] for dictionary in courses_list]

print("Courses:", courses)
print("Prices:", prices)
Courses: ['DBMS', 'Python', 'Java']
Prices: [1500, 2500, 2500]

Using the map() Function

The map() function is a built?in Python function that applies a specified function to each item in an iterable. It takes two arguments: the function to apply and the iterable.

Syntax

map(function, iterable)

Where:

  • function: The function we want to apply to the items in the iterator

  • iterable: The sequence of items to which the specified function will be applied

Example

courses_list = [
    {"course": "DBMS", "price": 1500},
    {"course": "Python", "price": 2500},
    {"course": "Java", "price": 2500},
]

def get_course_name(course_dict):
    return course_dict["course"]

# Apply the function to all dictionaries in the list
course_names = list(map(get_course_name, courses_list))
print("Course names:", course_names)
Course names: ['DBMS', 'Python', 'Java']

Using the pandas Library

The pandas DataFrame() constructor can convert a list of dictionaries into a DataFrame. Each dictionary in the list becomes a row in the DataFrame, making it convenient when dealing with structured data.

Syntax

pd.DataFrame(data)

Where data is a sequence of elements like a list or tuple.

Example

import pandas as pd

courses_list = [
    {"course": "DBMS", "price": 1500},
    {"course": "Python", "price": 2500},
    {"course": "Java", "price": 2500},
]

df = pd.DataFrame(courses_list)
print(df)
   course  price
0    DBMS   1500
1  Python   2500
2    Java   2500

Using from_records() Method

The pd.DataFrame.from_records() method provides another way to create a DataFrame from a list of dictionaries. This method is specifically designed for structured data like records.

Syntax

pd.DataFrame.from_records(data)

Where data is a structured array or list of dictionaries.

Example

import pandas as pd

courses_list = [
    {"course": "DBMS", "price": 1500},
    {"course": "Python", "price": 2500},
    {"course": "Java", "price": 2500},
]

df = pd.DataFrame.from_records(courses_list)
print(df)
   course  price
0    DBMS   1500
1  Python   2500
2    Java   2500

Comparison of Methods

Method Best For Memory Usage Readability
For Loop Complex operations on each dictionary Low High
List Comprehension Creating new lists from dictionary values Medium High
map() Function Applying same function to all dictionaries Low Medium
pandas DataFrame Data analysis and manipulation High High

Conclusion

Throughout this article, we explored different approaches including for loops, list comprehension, the map() function, and pandas library methods to iterate through a list of dictionaries. Choose the method that best fits your specific use case and data processing needs.

Updated on: 2026-03-27T11:48:25+05:30

11K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements