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.
Example:
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.
Example:
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.
Example:
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.
Related Posts
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/10
1/10
< Previous
Next >