Tuples in Python are a fundamental data type. They are similar to lists but have unique features. These features make them particularly useful for scenarios where data integrity is paramount. They are ideal for storing collections of items that should remain constant after creation.
What is a Python Tuple?
A Python tuple is an immutable sequence of elements, enclosed in parentheses ()
and separated by commas ,
.

Table of Contents
Key Characteristics of Tuple
- Immutability: Tuples cannot be modified after creation, making them ideal for storing read-only data.
- Fixed Data: Best suited for fixed data that doesn’t require modification.
- Preserved Insertion Order: Elements maintain the order in which they were added.
- Duplicates Allowed: Tuples can contain repeated elements.
- Heterogeneous Elements: Tuples can store a mix of data types like integers, strings, and even other tuples.
- Indexing Support: Supports positive and negative indexing for efficient element access.
Learn Python Strings form here: Mastering Python’s String Techniques
Tuple Creation
- t = () : Empty tuple
- t = (10,) : Single valued tuple ,parenthesis are optional, should ends with comma
- t=10,20,30 : Multi values tuple data type & parenthesis are optional
- tuple() method: tuple(seq_object)
# Create an empty tuple
empty_tuple = ()
print(empty_tuple) # Output: ()
# Create a single-valued tuple
single_value_tuple = (10,)
print(single_value_tuple) # Output: (10,)
# Create a multi-valued tuple
multi_value_tuple = 10, 20, 30
print(multi_value_tuple) # Output: (10, 20, 30)
# Create a tuple from a list
my_list = [10, 20, 30]
tuple_from_list = tuple(my_list)
print(tuple_from_list) # Output: (10, 20, 30)
# Create a tuple from a range
tuple_from_range = tuple(range(10, 20, 2))
print(tuple_from_range) # Output: (10, 12, 14, 16, 18)
Accessing Elements of a Tuple
1. Accessing by Index
# Define a tuple data type
t = (10, 20, 30, 40, 50, 60)
# Access elements using index
print(t[0]) # Output: 10
print(t[-1]) # Output: 60
# Trying to access an out-of-range index
print(t[100]) # Uncommenting this will raise Index Error: tuple index out of range
2. Accessing by Slice
# Define the same tuple data type
t = (10, 20, 30, 40, 50, 60)
# Using slice operator
print(t[2:5]) # Output: (30, 40, 50)
print(t[2:100]) # Output: (30, 40, 50, 60)
print(t[::2]) # Output: (10, 30, 50)
Tuple is immutable
Once created, tuples can’t be modified
# Create a tuple
t = (10, 20, 30, 40)
# Attempt to modify an element
# This will raise an error. Tuples do not support item assignment.
# t[1] = 70 # Uncommenting this line will raise TypeError
# Output: Type Error: 'tuple' object does not support item assignment.
In this example, you get a Type Error by trying to change the 2nd element of the tuple data type. This demonstrates the immutability of tuples.
Mathematical + and * operators
- Concatenation (+): Combines two or more tuple data type into one.
- Repetition (*): Repeats a tuple a specified number of times.
# Define two tuples
t1 = (1, 2, 3)
t2 = (4, 5, 6)
# Concatenation
t3 = t1 + t2
print(t3) # Output: (1, 2, 3, 4, 5, 6)
# Repetition
t4= t1*2
print(t4) # Output: (1, 2, 3, 1,2,3)
Common Tuple Functions
Function | Description | Example | Output |
len(t) | Returns the number of elements in a tuple. | len((1, 2, 3)) | 3 |
min(t) | Returns the smallest element in the tuple. | min((5, 2, 9, 1)) | 1 |
max(t)d | Returns the largest element in the tuple. | max((5, 2, 9, 1)) | 9 |
reversed(t) | Returns an iterator that accesses the tuple in reverse order. | list(reversed((1, 2, 3))) | [3, 2, 1] |
sorted(t) | Returns a sorted list from the elements of the tuple. | sorted((3, 1, 2)) | [1, 2, 3] |
my_tuple = (7, 2, 5, 1, 9)
# len() - Get the length of the tuple
print(f"Length of the tuple: {len(my_tuple)}") # Output: 5
# min() - Find the minimum value in the tuple
print(f"Smallest element: {min(my_tuple)}") # Output: 1
# max() - Find the maximum value in the tuple
print(f"Largest element: {max(my_tuple)}") # Output: 9
# reversed() - Get the tuple in reverse order
print(f"Reversed tuple: {list(reversed(my_tuple))}") # Output: [9, 1, 5, 2, 7]
# sorted() - Get the sorted version of the tuple
print(f"Sorted tuple: {sorted(my_tuple)}") # Output: [1, 2, 5, 7, 9]
Tuple Packing and Unpacking
tuple data type Packing:
We can create a tuple data type by packing multiple variables into it.
# Define variables
x = 5
y = 10
z = 15
# Pack variables into a tuple
packed_tuple = x, y, z
print(packed_tuple) # Output: (5, 10, 15)
Tuple Unpacking:
We can unpack a tuple data type to assign its values to individual variables.
# Define a tuple
my_tuple = (100, 200, 300)
# Unpack the tuple into variables
a, b, c = my_tuple
print("a =", a, "b =", b, "c =", c) # Output: a = 100 b = 200 c = 300
Tuple Comprehension
Tuple comprehension is not directly supported in Python. Using () with a generator expression creates the generator object, not a tuple
# Attempting to create a tuple using a generator expression
t = (x**2 for x in range(1, 6))
# Check the type
print(type(t)) # Output: <class 'generator'>
# Iterate through the generator and print values
for x in t:
print(x)
# Output:
<class 'generator'>
1
4
9
16
25
To create a tuple data type from a generator expression, use the tuple() method:
t = tuple(x**2 for x in range(1, 6))
Conclusion
Python tuples are a powerful data type for managing immutable collections. Their immutability ensures data consistency, and their versatility makes them suitable for various programming applications.
Check out our full Python guide here. : Learn From KSR Datavizon | Explore and Read Our Blogs Written By Our Industry Expert
Knowledge Check
Related Article No.4
Check out our Trending Courses Demo Playlist
Data Analytics with Power Bi and Fabric |
Could Data Engineer |
Data Analytics With Power Bi Fabic |
AWS Data Engineering with Snowflake |
Azure Data Engineering |
Azure & Fabric for Power bi |
Full Stack Power Bi |
Kick Start Your Career With Our Data Job
Social Media channels
► KSR Datavizon Website :- https://www.datavizon.com
► KSR Datavizon LinkedIn :- https://www.linkedin.com/company/datavizon/
► KSR Datavizon You tube :- https://www.youtube.com/c/KSRDatavizon
► KSR Datavizon Twitter :- https://twitter.com/ksrdatavizon
► KSR Datavizon Instagram :- https://www.instagram.com/ksr_datavision
► KSR Datavizon Face book :- https://www.facebook.com/KSRConsultingServices
► KSR Datavizon Playstore :- https://play.google.com/store/apps/details?id=com.datavizon.courses&hl=en-IN
► KSR Datavizon Appstore :- https://apps.apple.com/in/app/ksr-datavizon/i
Most Commented