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 different data types.
Python tup = () print(tup) # Using String tup = ('Geeks', 'For') print(tup) # Using List li = [1, 2, 4, 5, 6] print(tuple(li)) # Using Built-in Function tup = 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 even functions.
Python tup = (5, 'Welcome', 7, 'Geeks') print(tup) # Creating a Tuple with nested tuples tup1 = (0, 1, 2, 3) tup2 = ('python', 'geek') tup3 = (tup1, tup2) print(tup3) # Creating a Tuple with repetition tup1 = ('Geeks',) * 3 print(tup1) # Creating a Tuple with the use of loop tup = ('Geeks') n = 5 for i in range(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 and slicing, 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 Indexing tup = tuple("Geeks") print(tup[0]) # Accessing a range of elements using slicing print(tup[1:4]) print(tup[:3]) # Tuple unpacking tup = ("Geeks", "For", "Geeks") # This line unpack values of Tuple1 a, b, c = tup print(a) print(b) print(c) OutputG ('e', 'e', 'k') ('G', 'e', 'e') Geeks For Geeks 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.

Python tup1 = (0, 1, 2, 3) tup2 = ('Geeks', 'For', 'Geeks') tup3 = tup1 + tup2 print(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.

Python tup = tuple('GEEKSFORGEEKS') # Removing First element print(tup[1:]) # Reversing the Tuple print(tup[::-1]) # Printing elements of a Range print(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 using del statement.
Note: Printing of Tuple after deletion results in an Error.
Python tup = (0, 1, 2, 3, 4) del tup print(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.
Python tup = (1, 2, 3, 4, 5) a, *b, c = tup print(a) print(b) print(c)
Explanation:
- a gets the first item.
- c gets the last item.
- *b collects everything in between into a list.
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/10 1/10 < Previous Next >
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice