12.2 Update Tuples

By | October 2, 2021

Tuples are unchangeable, meaning that you cannot change, add, or remove items once the tuple is created.

But there are some workarounds.

Change Tuple Values

Once a tuple is created, you cannot change its values. Tuples are unchangeable, or immutable as it also is called.

But there is a workaround. You can convert the tuple into a list, change the list, and convert the list back into a tuple.

Example

Convert the tuple into a list to be able to change it:
x = (“apple”, “banana”, “cherry”)
y = list(x)
y[1] = “kiwi”
x = tuple(y)
print(x)

Output:
(“apple”, “kiwi”, “cherry”)

Add Items

Since tuples are immutable, they do not have a build-in append() method, but there are other ways to add items to a tuple.

1. Convert into a list: Just like the workaround for changing a tuple, you can convert it into a list, add your item(s), and convert it back into a tuple.

Example

Convert the tuple into a list, add “orange”, and convert it back into a tuple:
thistuple = (“apple”, “banana”, “cherry”)
y = list(thistuple)
y.append(“orange”)
thistuple = tuple(y)

Output:
(‘apple’, ‘banana’, ‘cherry’, ‘orange’)

2. Add tuple to a tuple. You are allowed to add tuples to tuples, so if you want to add one item, (or many), create a new tuple with the item(s), and add it to the existing tuple:

Example

Create a new tuple with the value “orange”, and add that tuple:
thistuple = (“apple”, “banana”, “cherry”)
y = (“orange”,)
thistuple += y
print(thistuple)

Output:
(‘apple’, ‘banana’, ‘cherry’, ‘orange’)

Note: When creating a tuple with only one item, remember to include a comma after the item, otherwise it will not be identified as a tuple.

Remove Items

Note: You cannot remove items in a tuple.

Tuples are unchangeable, so you cannot remove items from it, but you can use the same workaround as we used for changing and adding tuple items:

Example

Convert the tuple into a list, remove “apple”, and convert it back into a tuple:
thistuple = (“apple”, “banana”, “cherry”)
y = list(thistuple)
y.remove(“apple”)
thistuple = tuple(y)

Output:
(‘banana’, ‘cherry’)

Or you can delete the tuple completely:

Example

The del keyword can delete the tuple completely:
thistuple = (“apple”, “banana”, “cherry”)
del thistuple
print(thistuple)
 #this will raise an error because the tuple no longer exists

Output:
Traceback (most recent call last):
  File “demo_tuple_del.py”, line 3, in <module>
    print(thistuple) #this will raise an error because the tuple no longer exists
NameError: name ‘thistuple’ is not defined

Leave a Reply

Your email address will not be published. Required fields are marked *