In this Python tutorial, you will learn how to convert a tuple object into a list object using the list() built-in function. You will also see how the conversion affects mutability, nested values, and the original tuple.
Convert a Tuple into a List in Python
To convert a tuple into a list in Python, call the list() built-in function and pass the tuple as its argument. The function returns a new list containing the tuple items in the same order.
list_object = list(tuple_object)
The original tuple is not modified. A separate list object is created, so you can add, remove, or replace items in the resulting list.
Python list() builtin function
How tuple-to-list conversion works
A tuple is an iterable, and list() reads each item from that iterable to build a new list. The conversion preserves the number of items, their order, duplicate values, and references to nested objects.
- Order is preserved: the first tuple item becomes the first list item.
- Duplicates are preserved: repeated tuple values remain repeated in the list.
- The result is mutable: list items can be changed after conversion.
- The tuple stays unchanged: conversion does not edit the original object.
Python tuple-to-list examples
1. Convert a mixed-value tuple to a list
In the following example, we initialize a tuple and convert it to list using list(sequence).
Python Program
#initialize tuple
aTuple = (True, 28, 'Tiger')
#tuple to list
aList = list(aTuple)
#print list
print(type(aList))
print(aList)
Output
<class 'list'>
[True, 28, 'Tiger']
The returned object is a list, and it contains the same three values in the same order as the tuple.
Reference tutorials for the above program
2. Convert a tuple of integers to a list
In the following example, we initialize a tuple with all integers and convert it to a list using list(sequence).
Python Program
#initialize tuple
aTuple = (67, 28, 41, 37)
#tuple to list
aList = list(aTuple)
#print list
print(type(aList))
print(aList)
Output
<class 'list'>
[67, 28, 41, 37]
3. Modify the list after converting the tuple
The main reason to convert a tuple to a list is often to modify its contents. In this example, the tuple is converted first, and then a value is replaced and another value is appended.
colors_tuple = ("red", "green", "blue")
colors_list = list(colors_tuple)
colors_list[1] = "yellow"
colors_list.append("black")
print(colors_list)
print(colors_tuple)
Output
['red', 'yellow', 'blue', 'black']
('red', 'green', 'blue')
The list changes, while the original tuple remains unchanged.
4. Convert an empty tuple to an empty list
Passing an empty tuple to list() returns an empty list.
empty_tuple = ()
empty_list = list(empty_tuple)
print(empty_list)
print(type(empty_list))
Output
[]
<class 'list'>
Convert a nested tuple to a list
When a tuple contains other tuples, list() converts only the outer tuple. The nested tuples remain tuples because the operation is a shallow conversion.
points_tuple = ((1, 2), (3, 4), (5, 6))
points_list = list(points_tuple)
print(points_list)
print(type(points_list[0]))
Output
[(1, 2), (3, 4), (5, 6)]
<class 'tuple'>
To convert every nested tuple as well, use a list comprehension.
points_tuple = ((1, 2), (3, 4), (5, 6))
points_list = [list(point) for point in points_tuple]
print(points_list)
Output
[[1, 2], [3, 4], [5, 6]]
Using unpacking to create a list from a tuple
Tuple unpacking with the starred expression can also create a list. It produces the same item values as list(tuple_object), but list() is usually clearer when the purpose is type conversion.
numbers_tuple = (10, 20, 30)
numbers_list = [*numbers_tuple]
print(numbers_list)
Output
[10, 20, 30]
Tuple and list behavior after conversion
| Property | Original tuple | Converted list |
|---|---|---|
| Syntax | (1, 2, 3) | [1, 2, 3] |
| Mutable | No | Yes |
| Item order | Preserved | Preserved |
| Duplicate values | Preserved | Preserved |
| Object created by conversion | Remains unchanged | New list object |
Common tuple-to-list mistakes
- Expecting the tuple itself to change:
list()returns a new object; it does not turn the same tuple object into a list. - Forgetting parentheses for a one-item tuple: write
(5,), not(5). The latter is an integer expression. - Expecting recursive conversion: nested tuples remain tuples unless you convert them explicitly.
- Assigning the result back incorrectly: store the returned value, such as
aList = list(aTuple).
Frequently asked questions about converting tuples to lists
Does list() modify the original tuple?
No. list() creates and returns a new list. The original tuple remains unchanged.
Are duplicate tuple values removed during conversion?
No. Duplicate values are retained, and their original order is preserved.
Does list() convert nested tuples into nested lists?
No. It converts only the outer tuple. Use a list comprehension or another recursive approach when nested tuples must also become lists.
Can a one-item tuple be converted to a list?
Yes. Make sure the tuple includes a trailing comma, for example single_tuple = (10,). Then list(single_tuple) returns [10].
Summary of tuple-to-list conversion
In this Python Tutorial, we learned how to convert a tuple into list in Python using list(sequence), with the help of example Python programs. The conversion returns a new mutable list, preserves item order and duplicates, and leaves the original tuple unchanged.
TutorialKart.com