A tuple in Python is an immutable ordered collection of elements.
- Tuples are similar to lists, but unlike lists, they cannot be changed after their creation (i.e., they are immutable).
- Tuples can hold elements of different data types.
- The main characteristics of tuples are being ordered, heterogeneous and immutable.
Creating a Tuple
A tuple is created by placing all the items inside parentheses (), separated by commas. A tuple can have any number of items and they can be of differentdata types.
Pythontup=()print(tup)# Using Stringtup=('Geeks','For')print(tup)# Using Listli=[1,2,4,5,6]print(tuple(li))# Using Built-in Functiontup=tuple('Geeks')print(tup)Output()('Geeks', 'For')(1, 2, 4, 5, 6)('G', 'e', 'e', 'k', 's') Let's understand tuple in detail:
Creating a Tuple with Mixed Datatypes.
Tuples can contain elements of various data types, including other tuples,lists,dictionaries and evenfunctions.
Pythontup=(5,'Welcome',7,'Geeks')print(tup)# Creating a Tuple with nested tuplestup1=(0,1,2,3)tup2=('python','geek')tup3=(tup1,tup2)print(tup3)# Creating a Tuple with repetitiontup1=('Geeks',)*3print(tup1)# Creating a Tuple with the use of looptup=('Geeks')n=5foriinrange(int(n)):tup=(tup,)print(tup)Output(5, 'Welcome', 7, 'Geeks')((0, 1, 2, 3), ('python', 'geek'))('Geeks', 'Geeks', 'Geeks')('Geeks',)(('Geeks',),)((('Geeks',),),)(((('Geeks',),),),)((((('Geeks',),),),),) Python Tuple Basic Operations
Below are the Python tuple operations.
- Accessing of Python Tuples
- Concatenation of Tuples
- Slicing of Tuple
- Deleting a Tuple
Accessing of Tuples
We can access the elements of a tuple by using indexing andslicing, similar to how we access elements in a list. Indexing starts at 0 for the first element and goes up to n-1, where n is the number of elements in the tuple. Negative indexing starts from -1 for the last element and goes backward.
Python# Accessing Tuple with Indexingtup=tuple("Geeks")print(tup[0])# Accessing a range of elements using slicingprint(tup[1:4])print(tup[:3])# Tuple unpackingtup=("Geeks","For","Geeks")# This line unpack values of Tuple1a,b,c=tupprint(a)print(b)print(c)OutputG('e', 'e', 'k')('G', 'e', 'e')GeeksForGeeks Concatenation of Tuples
Tuples can be concatenated using the + operator. This operation combines two or more tuples to create a new tuple.
Note: Only the same datatypes can be combined with concatenation, an error arises if a list and a tuple are combined.

Pythontup1=(0,1,2,3)tup2=('Geeks','For','Geeks')tup3=tup1+tup2print(tup3)Output(0, 1, 2, 3, 'Geeks', 'For', 'Geeks')
Slicing of Tuple
Slicing a tuple means creating a new tuple from a subset of elements of the original tuple. The slicing syntax is tuple[start:stop:step].
Note- Negative Increment values can also be used to reverse the sequence of Tuples.

Pythontup=tuple('GEEKSFORGEEKS')# Removing First elementprint(tup[1:])# Reversing the Tupleprint(tup[::-1])# Printing elements of a Rangeprint(tup[4:9])Output('E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S')('S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G')('S', 'F', 'O', 'R', 'G') Deleting a Tuple
Since tuples are immutable, we cannot delete individual elements of a tuple. However, we can delete an entire tuple usingdel statement.
Note: Printing of Tuple after deletion results in an Error.
Pythontup=(0,1,2,3,4)deltupprint(tup)
Output
ERROR!
Traceback (most recent call last):
File "<main.py>", line 6, in <module>
NameError: name 'tup' is not defined
Tuple Unpacking with Asterisk (*)
In Python, the" * "operator can be used in tuple unpacking to grab multiple items into a list. This is useful when you want to extract just a few specific elements and collect the rest together.
Pythontup=(1,2,3,4,5)a,*b,c=tupprint(a)print(b)print(c)
Explanation:
- agets the first item.
- cgets the last item.
- *b collects everything in between into a list.
Related Links:
Suggested Quiz
10 Questions
How to create an empty tuple in Python?
Explanation:
Both () and tuple() create an empty tuple in Python.
What is the output of (1, 2, 3) + (4, 5, 6)?
Explanation:
The + operator concatenates tuples.
How can you access the second element of the tuple t = (1, 2, 3)?
Explanation:
Tuple indices start from 0, so t[1] refers to the second element.
What is the output of ('repeat',) * 3?
('repeat', 'repeat', 'repeat')
Explanation:
Multiplying a tuple repeats its content.
Which of the following is true for the tuple t = (1, 2, [3, 4])?
Tuples cannot contain mutable objects like lists.
t[2][0] = 5 is a valid operation.
Tuples can only contain integers.
Explanation:
While tuples themselves are immutable, they can contain mutable objects like lists.
What happens if we try to assign a value to an element in a tuple?
The tuple is converted to a list.
Explanation:
Tuples are immutable, so attempting to change an element raises a TypeError.
Which of the following methods is not available for tuples?
Explanation:
Tuples cannot be sorted in-place because they are immutable; hence no .sort() method.
Which of the following is a correct statement about tuple unpacking?
x, y, z = (1, 2, 3) is an invalid statement.
Tuple unpacking requires more variables than the elements in the tuple.
Tuple unpacking can be done without matching the exact number of elements
x, y, z = (1, 2, 3) unpacks the values into x, y, and z
Explanation:
Tuple unpacking assigns each element of a tuple to a variable provided they match in quantity.
What is the output of tuple(map(lambda x: x*x, [1, 2, 3]))?
Explanation:
The map() function applies a function to every item of an iterable and tuple() converts the result to a tuple.
What does the following tuple comprehension do? tuple(x for x in range(5))
Creates a tuple with elements 0 to 4.
Creates a list instead of a tuple.
Explanation:
This is a generator expression passed to the tuple() constructor, which creates a tuple containing numbers from 0 to 4.
Quiz Completed Successfully
Your Score : 2/10
Accuracy : 0%
Login to View Explanation
1/101/10< Previous Next >Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice