How to create list of dictionary in Python (original) (raw)

Last Updated : 25 Nov, 2024

In this article, we are going to discuss ways in which we can **create a list of dictionaries in Python. Let’s start with a basic method to create a list of dictionaries using Python.

Python `

Creating a list of dictionaries

a = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]

print(a) print(type(a))

`

Output

[{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}] <class 'list'>

We created a list a containing two dictionaries. Each dictionary has keys like ****"name" and "age"** and their corresponding values. Let's explore other methods to create a list of dictionaries.

Table of Content

Creating a List of Dictionaries Using a Loop

Creating a list of dictionaries using a for loop is efficient approach. We can dynamically generate dictionaries.

Python `

a = []

Using a loop to create a list of dictionaries

for i in range(3): a.append({"name": f"Person {i+1}", "age": 20 + i}) print(a)

`

Output

[{'name': 'Person 1', 'age': 20}, {'name': 'Person 2', 'age': 21}, {'name': 'Person 3', 'age': 22}]

Creating a List of Dictionaries using List Comprehension

List comprehension is a compact way to create lists. We can use it to create a list of dictionaries in just one line.

Python `

a = [{"name": f"Person {i+1}", "age": 20 + i} for i in range(3)]

Using list comprehension to create a list of dictionaries

print(a)

`

Output

[{'name': 'Person 1', 'age': 20}, {'name': 'Person 2', 'age': 21}, {'name': 'Person 3', 'age': 22}]

Creating a List of Dictionaries from Lists

If we already have a list of data, and we want to turn it into a list of dictionaries. We can use a loop or list comprehension to do this.

Python `

Creating a list of dictionaries from another list

names = ["Alice", "Bob", "Charlie"] ages = [25, 30, 22]

a = [{"name": names[i], "age": ages[i]} for i in range(len(names))] print(a)

`

Output

[{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 22}]

Accessing Dictionary Elements from a List of Dictionaries

We can access the elements in a list of dictionaries by using indexing for the dictionary and the keys for specific values inside the dictionary.

Python `

lod = [ {'name': 'Alice', 'age': 25, 'city': 'New York'}, {'name': 'Bob', 'age': 30, 'city': 'Los Angeles'}, {'name': 'Charlie', 'age': 35, 'city': 'Chicago'} ]

Access the second dictionary in the list

d1 = lod[1] print(d1)
print(lod[0]['name'])

`

Output

{'name': 'Bob', 'age': 30, 'city': 'Los Angeles'} Alice