How to do tuple comprehension in Python


To do a tuple comprehension in Python, you can use the generator function to create a generator object and transform it into a tuple using the tuple() function.

Here’s an example of performing a tuple comprehension:

my_tuple = tuple(x for x in range(4))

print(my_tuple)

Output:

(0, 1, 2, 3)

The list comprehension syntax uses the square brackets [] like the literal used for creating a list, but the round brackets () were used to create a generator in Python.

A generator produces a generic iterator object which you can pass to the tuple() function to convert it to a tuple.

While using tuple() and generator is not a true tuple comprehension syntax, it’s sufficient for the rare case where you need to produce a tuple using a syntax similar to a list comprehension.

Another way you can create a tuple comprehension is to just use a list comprehension and convert the result into a tuple:

my_tuple = tuple([x for x in range(4)])

print(my_tuple)

The code above converts the result of the list comprehension into a tuple.

In the end, tuples and lists are the same except that items in a tuple can’t be modified. You can create a tuple from a list as well, so there’s no need to define a new syntax for tuple comprehension.

I hope this article helps. Happy coding! 👍

Get 100 Python Snippets Book for FREE 🔥

100 Python snippets that you can use in various scenarios

Save 1000+ hours of research and 10x your productivity