The Power and Ease of Python’s Dict Comprehension

In this tutorial, we will learn about creating dictionaries from lists using the dict() function and list comprehensions. We will explore both their practical uses and how they can simplify our code. …

Updated October 29, 2023

In this tutorial, we will learn about creating dictionaries from lists using the dict() function and list comprehensions. We will explore both their practical uses and how they can simplify our code.

Creating a Dictionary from a List

Let’s start by creating a dictionary directly from a list of key-value pairs. Suppose we have two lists keys and values, where the first item in each list corresponds to the key, and the second one corresponds to its corresponding value.

keys = ['name', 'age', 'gender']
values = ['John Doe', 30, 'male']
dictionary = dict(zip(keys, values))
print(dictionary)

Output:

{'name': 'John Doe', 'age': 30, 'gender': 'male'}

This works because the dict() function can take a sequence of key-value pairs and turn it into a dictionary. The zip() function combines two lists into a list of tuples.

If we have a list of keys and a corresponding single value that should be paired with each key, we can use dict comprehension.

keys = ['name', 'age', 'gender']
single_value = 'John Doe'
dictionary = {key: single_value for key in keys}
print(dictionary)

Output:

{'name': 'John Doe', 'age': 'John Doe', 'gender': 'John Doe'}

Here, single_value is paired with each key from the keys list using dict comprehension.

Both methods can be used to create dictionaries out of lists and can make our code much cleaner and easier to read.

The above examples demonstrate the creation of a dictionary from a list but creating a dictionary from another dictionary or an iterable is also possible. In many cases, it makes it easier to work with data if you structure it in this way.

Hey! Do you love Python? Want to learn more about it?
Let's connect on Twitter or LinkedIn. I talk about this stuff all the time!