Problem: Given a Python list with n
elements. How to convert it into a tuple with the same n
elements?
Examples:
- Convert list
[1, 2, 3, 4, 5]
into tuple(1, 2, 3, 4, 5)
. - Convert list
['Alice', 'Bob', 'Ann']
into tuple('Alice', 'Bob', 'Ann')
. - Convert list
[1]
into tuple(1,)
.
Note Tuple: Tuples are similar to lists—with the difference that you cannot change the tuple values (tuples are immutable) and you use parentheses rather than square brackets.
Solution: Use the built-in Python tuple()
function to convert a list into a tuple. You don’t need to import any external library.
Code: The following code converts the three given lists into tuples.
list_1 = [1, 2, 3, 4, 5] print(tuple(list_1)) # (1, 2, 3, 4, 5) list_2 = ['Alice', 'Bob', 'Ann'] print(tuple(list_2)) # ('Alice', 'Bob', 'Ann') list_3 = [1] print(tuple(list_3)) # (1,)
Try It Yourself: With our interactive code shell, you can try it yourself. As a small exercise, try to convert the empty list []
into a tuple and look what happens.
Explanation: You can see that converting a list with one element leads to a tuple with one element. The tuple()
function is the easiest way to convert a list into a tuple value. Note that the values in the tuple are not copied—only a new reference to the same element is created:
The graphic also shows how to convert a tuple back to a list by using the list()
function (that’s also a Python built-in function). Thus, calling list(tuple(lst))
on a list lst
will result in a new list with the same elements.
Related articles:
Try to execute this code with the interactive Python tutor: