Last Updated : 14 Jul, 2025
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 TupleA 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)
() ('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)
(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.
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)
G ('e', 'e', 'k') ('G', 'e', 'e') Geeks For GeeksConcatenation of Tuples
Tuples can be concatenated using the + operator. This operation combines two or more tuples to create a new tuple.
PythonNote: Only the same datatypes can be combined with concatenation, an error arises if a list and a tuple are combined.
tup1 = (0, 1, 2, 3)
tup2 = ('Geeks', 'For', 'Geeks')
tup3 = tup1 + tup2
print(tup3)
(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].
PythonNote- Negative Increment values can also be used to reverse the sequence of Tuples.
tup = tuple('GEEKSFORGEEKS')
# Removing First element
print(tup[1:])
# Reversing the Tuple
print(tup[::-1])
# Printing elements of a Range
print(tup[4:9])
('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.
PythonNote: Printing of Tuple after deletion results in an Error.
tup = (0, 1, 2, 3, 4)
del tup
print(tup)
Output
Tuple Unpacking with Asterisk (*)ERROR!
Traceback (most recent call last):
File "<main.py>", line 6, in <module>
NameError: name 'tup' is not defined
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:
Useful Links:
Suggested Quiz
10 Questions
How to create an empty tuple in Python?
tup= ()
tup= tuple()
tup= []
Both A and B
Explanation:
Both () and tuple() create an empty tuple in Python.
What is the output of (1, 2, 3) + (4, 5, 6)?
(1, 2, 3, 4, 5, 6)
(5, 7, 9)
TypeError
(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')
(repeat, repeat, repeat)
TypeError
('repeatrepeatrepeat',)
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 be resized.
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 updated.
Nothing happens.
An error is raised.
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?
.count()
.index()
.sort()
.reverse()
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]))?
[1, 4, 9]
(1, 4, 9)
{1, 4, 9}
None
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.
Generates an error.
Creates a list instead of a tuple.
None of the above.
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 >RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4