Tuple Comprehension in Python (original) (raw)

Last Updated : 5 Jun, 2026

Python supports list, set, and dictionary comprehensions, but it does not have a dedicated tuple comprehension syntax. Instead, tuples can be created efficiently using generator expressions and the tuple() constructor.

Python Comprehensions

**List Comprehensions: These are used for creating new lists where each element is the result of some operation applied to each member of another sequence or iterable, or to satisfy a specific condition.

Python `

Example: Squaring numbers in a range

squared_list = [x**2 for x in range(10)] print(squared_list)

`

Output

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

**Dictionary Comprehensions: We can use dictionary comprehension to directly create dictionaries from key-value pairs generated by running a loop over an iterable.

Python `

Example: Mapping numbers to their squares

squared_dict = {x: x**2 for x in range(5)} print(squared_dict)

`

Output

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

**Set Comprehensions: Similar to list comprehensions, we can use set comprehension to create a collection of elements.

Python `

Example: Unique squares from a list of numbers

numbers = [1, 2, 2, 3, 4] squared_set = {x**2 for x in numbers} print(squared_set)

`

If we want to create tuples using the idea of comprehension. We can follow a different approach. We can typecast the result of list, set, and dictionary comprehensions.

**Converting a Generator to a Tuple: A generator expression can be converted into a tuple by passing it to the tuple() constructor:

Python `

my_tuple = tuple(x * 2 for x in range(5)) print(my_tuple)

`

Here, the generator expression is converted to a tuple by the tuple() constructor.

**Lists, sets, and dictionaries to Tuple:

We can use a similar approach to get a tuple out of comprehension.

Python `

tuple_from_list_comprehension = tuple([x * 2 for x in range(5)]) tuple_from_set_comprehension = tuple({x+2 for x in range(5)}) tuple_from_dict_comprehension = tuple({ idx: value for idx, value in enumerate(tuple_from_list_comprehension) })

print('tuple_from_list_comprehension:', tuple_from_list_comprehension) print('tuple_from_set_comprehension:', tuple_from_set_comprehension) print('tuple_from_dict_comprehension:', tuple_from_dict_comprehension)

`

Output

tuple_from_list_comprehension: (0, 2, 4, 6, 8) tuple_from_set_comprehension: (2, 3, 4, 5, 6) tuple_from_dict_comprehension: (0, 1, 2, 3, 4)

The above methods mimic the functionality of a tuple comprehension by using the flexibility of list, set, and dictionary comprehensions.

**Note: When converting a dictionary to a tuple, we get a tuple of keys.