How to convert a list of tuples to a dictionary in Python? In Python, a list of tuples can be converted into a dictionary by using various methods. Converting a list of tuples into a dictionary can be useful in situations where you have data that is organized as key-value pairs, but it is easier to work with as a dictionary. This conversion can make the data more readable and easier to manipulate, as dictionaries allow you to access values by their corresponding keys.
You can convert a list of tuples to a dictionary in Python using many ways, for example, by using the dict()
, for
loop, dict
comprehension, setdefault()
, itertools.groupby()
, dict()
constructor, and list comprehension. In this article, I will explain how to convert a list of tuples to a dictionary by using all these functions with examples.
1. Quick Examples of Converting List of Tuples To Dictionary
If you are in a hurry, below are some quick examples of converting a list of tuples into a dictionary.
# Quick examples of converting list of tuples into dictionary
# list of tuples
list_tuples = [("Python", 2000), ("Spark", 2500), ("Pandas", 3000)]
# Example 1: Convert a list of tuples to a dictionary
mydict = dict(list_tuples)
# Example 2: Convert to dictionary using a for loop
mydict = {}
for item in list_tuples:
key = item[0]
value = item[1]
mydict[key] = value
# Example 3: Convert a list of tuples to a dictionary
# Using dictionary comprehension
mydict = {tup[0]: tup[1] for tup in list_tuples}
# Example 4: Using dictionary comprehension
mydict = {key: value for (key, value) in list_tuples}
# Example 5: Convert to dictionary
# Using setdefault() method
mydict = {}
for key, val in list_tuples:
mydict.setdefault(key, val)
# Example 6: Using the dict() constructor and a list comprehension
def convert_to_dict(list_tuples):
dictionary = dict((key, value) for key, value in list_tuples)
return dictionary
# Example 7: Using itertools.groupby() function
def convert_to_dict(list_tuples):
groups = groupby(list_tuples, key=lambda x: x[0])
dictionary = {}
# Iterate over the groups
for key, group in groups:
dictionary[key] = [tuple[1] for tuple in group]
return dictionary
2. Convert a List of Tuples to a Dictionary in Python
You can convert a list of tuples into a dictionary using the built-in dict()
function. For example, you have a list of tuples list_tuples
containing course names and their corresponding quantities. Then you can use the dict()
function to convert this list to a dictionary mydict
. The keys of the dictionary are the first elements of the tuples in the list, and the values are the second element of the tuples.
# list of tuples
list_tuples = [("Python", 2000), ("Spark", 2500), ("Pandas", 3000)]
print("Orginal list of tuples: ",list_tuples)
# Convert a list of tuples to a dictionary
mydict = dict(list_tuples)
print("List of tuples into dictionary:", mydict)
Yields below output.

3. Convert a List of Tuples to a Dictionary Using For Loop
To convert a list of tuples to a dictionary in Python using a for loop. For instance, first, you can initialize an empty dictionary mydict
. Then, you can iterate over each item in the list using a for
loop. For each item, you can extract the first element of the tuple as the key and the second element as the value. Finally, you can add the key-value pair to the dictionary using the syntax mydict[key] = value
. At the end of the loop, the mydict
dictionary contains the same key-value pairs as the original list_tuples
list of tuples.
# list of tuples
list_tuples = [("Python", 2000), ("Spark", 2500), ("Pandas", 3000)]
print("Orginal list of tuples: ",list_tuples)
# Convert list of tuples to dictionary using a for loop
mydict = {}
for item in list_tuples:
key = item[0]
value = item[1]
mydict[key] = value
print("List of tuples into dictionary:", mydict)
Yields the same output as above.
4. Convert a List of Tuples to a Dictionary Using Dict Comprehension
You can also use dictionary comprehension to convert a list of tuples to a dictionary in Python. For example, first, you can define a list of tuples called list_tuples
. Then you can use dictionary comprehension to create a new dictionary called mydict
.
In dictionary comprehension, you can iterate over each tuple in the list and extract the first element as the key and the second element as the value. You can use the tup[0]
notation to access the first element of the tuple as the key, and tup[1]
to access the second element of the tuple as the value.
# list of tuples
list_tuples = [("Python", 2000), ("Spark", 2500), ("Pandas", 3000)]
print("Orginal list of tuples: ",list_tuples)
# Convert a list of tuples to a dictionary
# Using dictionary comprehension
mydict = {tup[0]: tup[1] for tup in list_tuples}
print("List of tuples into dictionary:", mydict)
Yields the same output as above.
In another way, you can use dictionary comprehension to create a dictionary mydict
from the list of tuples list_tuples
. The key-value pairs in the dictionary are created by iterating over each tuple in the list and extracting the first element as the key and the second element as the value.
# Using dictionary comprehension
mydict = {key: value for (key, value) in list_tuples}
print("List of tuples into dictionary:", mydict)
Yields the same output as above.
5. Using the setdefault() Method
You can also use setdefault() method to convert a list of tuples to a dictionary in Python. For instance, first, initialize an empty dictionary mydict
. Then you can use the for loop to iterate over each tuple in the list_tuples
. For each tuple, the loop extracts the first element as key
and the second element as val
.
Then you can use the setdefault()
method to add the key-value pairs to the mydict
dictionary. If the key already exists in the dictionary, setdefault() does not overwrite the existing value. Otherwise, it adds the new key-value pair to the dictionary with the value as the default. At the end of the loop, mydict
contains the key-value pairs from list_tuples
.
# list of tuples
list_tuples = [("Python", 2000), ("Spark", 2500), ("Pandas", 3000)]
print("Orginal list of tuples: ",list_tuples)
# Convert to dictionary
# Using setdefault() method
mydict = {}
for key, val in list_tuples:
mydict.setdefault(key, val)
print("List of tuples into dictionary:", mydict)
Yields the same output as above.
6. Using the dict() Constructor and a List Comprehension
You can also use the dict()
constructor and a list comprehension to convert a list of tuples to a dictionary in Python. For example, you can define a function convert_to_dict
that takes a list of tuples list_tuples
as input. Then you can use the dict()
constructor and a list comprehension to create a dictionary dictionary
from the input list_tuples
.
The list comprehension iterates over each tuple in list_tuples
and extracts the first element as key
and the second element as value
. The resulting dictionary
dictionary contains the key-value pairs from list_tuples
. Finally, the function returns the dictionary
dictionary.
# list of tuples
list_tuples = [("Python", 2000), ("Spark", 2500), ("Pandas", 3000)]
print("Orginal list of tuples: ",list_tuples)
# Using the dict() constructor and a list comprehension
def convert_to_dict(list_tuples):
dictionary = dict((key, value) for key, value in list_tuples)
return dictionary
print("List of tuples into dictionary:", convert_to_dict(list_tuples))
Yields the same output as above.
7. Using itertools.groupby() Function
You can also use itertools.groupby()
to convert a list of tuples into a dictionary where the keys are the unique values in the list and the values are lists of tuples that have the same value. In the below example, you can use groupby()
function to group the list of tuples by the first element of each tuple. Then you can iterate over the groups and create a dictionary where the keys are the unique values in the list and the values are lists of the second elements of the tuples in each group.
from itertools import groupby
# list of tuples
list_tuples = [("Python", 2000), ("Spark", 2500), ("Pandas", 3000)]
print("Orginal list of tuples: ",list_tuples)
# Using itertools.groupby() function
def convert_to_dict(list_tuples):
groups = groupby(list_tuples, key=lambda x: x[0])
dictionary = {}
# Iterate over the groups
for key, group in groups:
dictionary[key] = [tuple[1] for tuple in group]
return dictionary
print("List of tuples into dictionary:", convert_to_dict(list_tuples))
# Output:
# Orginal list of tuples: [('Python', 2000), ('Spark', 2500), ('Pandas', 3000)]
# List of tuples into dictionary: {'Python': [2000], 'Spark': [2500], 'Pandas': [3000]}
Conclusion
In this article, I have explained how to convert a list of tuples to a dictionary in Python by using the dict()
, for
loop, dict
comprehension, setdefault()
, itertools.groupby()
, dict()
constructor, and list comprehension with examples.
Happy Learning !!
Related articles
- Python List Mutable
- Python List Unpacking with Examples
- Python List Remove Last Element
- Python List Operations
- Python List to Integer
- Python List Subtraction
- Python List Concatenation
- Python List max() Function
- Python List min() Function
- Python List clear() Method
- Python List Union with Example
- Python List count() Method
- Python List copy() Method
- Difference Between List and Dictionary in Python
- Find Maximum Value in List in Python
- Find Difference of Lists in Python
- Remove Last Element from Tuple in Python
- Tuple as Dictionary Key in Python