Python Tuple : Append , Insert , Modify & delete elements in Tuple

How to append, insert, modify and delete elements in Tuple in Python ?

This article is about how we can append, insert, modify and delete elements in Tuple.

As we know a tuple in Python stores ordered and immutable objects. It is one of data type which stores multiple items in a single variable where all the elements are placed inside parentheses () and separated by commas.

Syntax : sample_tuple = (element1, element2, element3, ...)

As tuple is immutable so once created values can not be changed. Still if we want to modify the existing tuple, then in that case we have to create a new tuple with updated elements only from the existing tuple. So let’s start exploring the topic to know how we can append, insert, modify and delete elements in Tuple.

Append an element in Tuple at end :

If we have a tuple and to append an element into it , then we will create copy of the existing tuple first then we will append the new element by using + operator.

So , let’s see the implementation of it.

#Program :

# A tuple created
tuple_Obj = (1 , 3, 4, 2, 5 )

#printing old tuple
print("Old tuple is :")
print(tuple_Obj)

# Appending 9 at the end of tuple
tuple_Obj = tuple_Obj + (9 ,)

#printing new tuple
print("After appending new tuple is :")
print(tuple_Obj)
Output  :
Old tuple is :
(1 , 3, 4, 2, 5 )
After appending new tuple is :
(1 , 3, 4, 2, 5, 9 )

Insert an element at specific position in tuple :

If we want to insert a specific element at particular index, then we have to create a new tuple by slicing the existing tuple and copying elements of old tuple from it.

Suppose we have to insert at index n then we have to create two sliced copies of existing tuple from (0 to n) and (n to end). Like

# containing elements from 0 to n-1 
tuple_Obj [ : n] 
# containing elements from n to end 
tuple_Obj [n : ]

So, let’s see the implementation of it.

#Program :

# A tuple created
tuple_Obj = (1 , 3, 4, 2, 5 )

#printing old tuple
print("Old tuple is :")
print(tuple_Obj)

n = 2
# Insert 9 in tuple at index 2
tuple_Obj = tuple_Obj[ : n ] + (9 ,) + tuple_Obj[n : ]

#printing new tuple
print("After appending new tuple is :")
print(tuple_Obj)
Output  :
Old tuple is :
(1 , 3, 4, 2, 5 )
After appending new tuple is :
(1 , 3, 9, 4, 2, 5 )

Modify / Replace the element at specific index in tuple :

If we want to replace the element at index n in tuple then we have to use the same slicing logic as we used in the above example, But in this we have to slice the tuple from from (0 to n-1) and (n+1 to end) , as we will replace the element at index n, so after replacing we are copying the elements again from n+1 index of the old tuple.

So, let’s see the implementation of it.

#Program :

# A tuple created
tuple_Obj = (1 , 3, 4, 2, 5 )

#printing old tuple
print("Old tuple is :")
print(tuple_Obj)

n = 2
# Insert 'program' in tuple at index 2
tuple_Obj = tuple_Obj[ : n] + ('program' ,) + tuple_Obj[n + 1 : ]

#printing new tuple
print("After appending new tuple is :")
print(tuple_Obj)
Output :
Old tuple is : 
(1 , 3, 4, 2, 5 ) 
After appending new tuple is : 
(1 , 3, 'program', 2, 5 )

Delete an element at specific index in tuple :

If we want to delete an element at index n in tuple then we have to use the same slicing logic as  we used in the above example, means we will slice the tuple from from (0 to n-1) and (n+1 to end) , like

# containing elements from 0 to n-1 
tuple_Obj [ : n] 
# containing elements from n to end 
tuple_Obj [n+1 : ]

So, let’s see the implementation of it.

#Program :

# A tuple created
tuple_Obj = (1 ,3, 'program', 4, 2, 5 )

#printing old tuple
print("Old tuple is :")
print(tuple_Obj)

n = 2
# Deleting the element at index 2 
tuple_Obj = tuple_Obj[ : n ] + tuple_Obj[n+1 : ]

#printing new tuple
print("After appending new tuple is :")
print(tuple_Obj)
Output : 
Old tuple is : (1 , 3, 'program',  4, 2, 5 ) 
After appending new tuple is : (1 , 3, 4, 2, 5 )