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.

</>
Copy
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

</>
Copy
#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

</>
Copy
#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.

</>
Copy
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.

</>
Copy
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.

</>
Copy
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.

</>
Copy
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.

</>
Copy
numbers_tuple = (10, 20, 30)
numbers_list = [*numbers_tuple]

print(numbers_list)

Output

[10, 20, 30]

Tuple and list behavior after conversion

PropertyOriginal tupleConverted list
Syntax(1, 2, 3)[1, 2, 3]
MutableNoYes
Item orderPreservedPreserved
Duplicate valuesPreservedPreserved
Object created by conversionRemains unchangedNew 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.