How I can convert a Python Tuple into Dictionary?

The Python tuple elements are enclosed inside the parentheses, while dictionary elements are present in the form of a key-value pair and are enclosed between curly brackets.

In this article, we will show you how to convert a Python tuple into a dictionary. The following are the methods to convert a tuple into a dictionary ?

Assume we have taken a tuple containing some elements. We will convert the input tuple into a Python dictionary and return it using different methods as specified above.

Using dict() Function

In Python, use the dict() function to convert a tuple to a dictionary. The dict() function can create a dictionary object from a tuple of tuples, where each inner tuple contains a key-value pair.

The first element of each inner tuple becomes a dictionary key, while the second element becomes the corresponding dictionary value.

Example

The following program converts a tuple into a dictionary using the dict() function ?

# input tuple of tuples (key-value pairs)
inputTuple = ((5, "TutorialsPoint"), (6, "Python"), (7, "Codes"))
print("The input Tuple:", inputTuple)

# Converting tuple of tuples to dictionary using dict()
resultDictionary = dict(inputTuple)
print("The result dictionary:", resultDictionary)

The output of the above code is ?

The input Tuple: ((5, 'TutorialsPoint'), (6, 'Python'), (7, 'Codes'))
The result dictionary: {5: 'TutorialsPoint', 6: 'Python', 7: 'Codes'}

Using Dictionary Comprehension and enumerate() Function

To convert two separate tuples into a dictionary, the tuples must be the same length. One tuple serves as keys and the other as values.

The enumerate() function adds a counter to an iterable and returns an enumerate object. Here is the syntax ?

enumerate(iterable, start=0)

Where,

  • iterable: Any sequence/object/iterable supporting iteration.
  • start: Starting value for the counter (default is 0).

Example

The following program converts two tuples into a dictionary using dictionary comprehension and enumerate() ?

# input tuple_1 (keys)
inputTuple_1 = ('TutorialsPoint', 'Python', 'Codes')

# input tuple_2 (values)
inputTuple_2 = (5, 6, 7)

print("The input Tuple_1(keys) = ", inputTuple_1)
print("The input Tuple_2(values) = ", inputTuple_2)

# Checking whether the length of both tuples are equal
if len(inputTuple_1) == len(inputTuple_2):
    # Converting both tuples into dictionary using enumerate()
    resultDictionary = {inputTuple_1[i]: inputTuple_2[i] for i, _ in enumerate(inputTuple_2)}
    print("The result dictionary:", resultDictionary)
else:
    print("Tuples must have the same length")

The output of the above code is ?

The input Tuple_1(keys) = ('TutorialsPoint', 'Python', 'Codes')
The input Tuple_2(values) = (5, 6, 7)
The result dictionary: {'TutorialsPoint': 5, 'Python': 6, 'Codes': 7}

Using zip() and dict() Functions

The zip() function combines two or more iterables into a single iterable. It pairs items from the input iterables based on their index positions.

When combined with dict(), it creates a dictionary by pairing elements from two tuples ? one as keys and the other as values.

Example

The following program converts two tuples into a dictionary using zip() and dict() functions ?

# input tuple_1 (keys)
inputTuple_1 = ('TutorialsPoint', 'Python', 'Codes')

# input tuple_2 (values)
inputTuple_2 = (5, 6, 7)

print("The input Tuple_1(keys) = ", inputTuple_1)
print("The input Tuple_2(values) = ", inputTuple_2)

# Checking whether the lengths of both tuples are equal
if len(inputTuple_1) == len(inputTuple_2):
    # Converting both tuples into dictionary using zip() and dict()
    resultDictionary = dict(zip(inputTuple_1, inputTuple_2))
    print("The result dictionary:", resultDictionary)
else:
    print("Tuples must have the same length")

The output of the above code is ?

The input Tuple_1(keys) = ('TutorialsPoint', 'Python', 'Codes')
The input Tuple_2(values) = (5, 6, 7)
The result dictionary: {'TutorialsPoint': 5, 'Python': 6, 'Codes': 7}

Comparison

Method Input Type Best For
dict() Tuple of tuples When data is already in key-value pairs
enumerate() with dict comprehension Two separate tuples When you need index-based mapping
zip() with dict() Two separate tuples Most readable for two separate tuples

Conclusion

Use dict() directly when your tuple contains key-value pairs. For two separate tuples, zip() with dict() provides the cleanest and most readable solution. Dictionary comprehension with enumerate() offers more control when needed.

Updated on: 2026-03-24T18:59:06+05:30

45K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements