Mastering Tuples in Python: A Comprehensive Guide

Tuples are an essential data structure in Python, offering a convenient way to store ordered and immutable data collections.

In this blog, you’ll learn everything about tuples in Python, including creation, slicing, methods, and more.

Let’s jump right into it!🚀

Tuples in Python

Tuples are ordered collection of data items. In tuples, you can store multiple items in a single variable.

Tuples are immutable i.e. you can not change them after creation.

Creating Tuples

Tuples are defined using round brackets () and items are separated by commas.

A tuple can contain items of different data types.

For example:

tuple1 = (1,2,36,3,15)
tuple2 = ("Red", "Yellow", "Blue")
tuple3 = (1, "John",12, 5.3)

print(tuple1) # (1, 2, 36, 3, 15)
print(tuple2) # ('Red', 'Yellow', 'Blue')
print(tuple3) # (1, 'John', 12, 5.3)

Single-Item Tuples

To create a tuple with one item, add a comma after the item. Without a comma, Python will treat it as an integer type.

For example:

tuple1 = (1) # This is an integer.
print(type(tuple1)) # <class 'int'>

tuple2 = (1,) # This is a tuple.
print(type(tuple2)) # <class 'tuple'>

Length of Tuple

You can find the length of a tuple (number of items in a tuple) using len() function.

For example:

tuple1 = (1,2,36,3,15)
lengthOfTuple = len(tuple1)

print(lengthOfTuple) # 5

Accessing Tuple Items

You can access tuple items/elements using indexing. Each element has its unique index.

Indexing starts from 0 for the first element, 1 for the second element, and so on.

For example:

fruits = ("Orange", "Apple", "Banana")

print(fruits[0]) # Orange
print(fruits[1]) # Apple
print(fruits[2]) # Banana

You can also access elements from the end of the tuple (-1 for the last element, -2 for the second-to-last element, and so on), this is called negative indexing.

For example:

fruits = ("Orange", "Apple", "Banana")

print(fruits[-1]) # Banana 
print(fruits[-2]) # Apple
print(fruits[-3]) # Orange
# for understanding, you can consider this as fruits[len(fruits)-3]

Check if an item is present in the tuple?

You can check whether an element is present in the tuple or not, using the in keyword.

Example 1:

fruits = ("Orange", "Apple", "Banana")
if "Orange" in fruits:
    print("Orange is in the tuple.")
else:
    print("Orange is not in the tuple.")

#Output: Orange is in the tuple.

Example 2:

numbers = (1, 57, 13)
if 7 in numbers:
    print("7 is in the tuple.")
else:
    print("7 is not in the tuple.")

# Output: 7 is not in the tuple.

Slicing Tuples

You can get a range of tuple items by giving start, end and jump(skip) parameters.

Syntax:

tupleName[start : end : jumpIndex]

Note: jump Index is optional.

Example 1:

# Printing elements within a particular range
numbers = (1, 57, 13, 6, 18, 54)

# using positive indexes(this will print the items starting from index 2 and ending at index 4 i.e. (5-1))
print(numbers[2:5])	

# using negative indexes(this will print the items starting from index -5 and ending at index -3 i.e. (-2-1))
print(numbers[-5:-2])	

Output:

(13, 6, 18)
(57, 13, 6)

Example 2:

When no end index is provided, the interpreter prints all the values till the end.

# Printing all elements from a given index to till the end
numbers = (1, 57, 13, 6, 18, 54)

# using positive indexes
print(numbers[2:])	

# using negative indexes
print(numbers[-5:])	

Output:

(13, 6, 18, 54)
(57, 13, 6, 18, 54)

Example 3:

When no start index is provided, the interpreter prints all the values from start up to the end index provided.

# Printing all elements from start to a given index
numbers = (1, 57, 13, 6, 18, 54)

#using positive indexes
print(numbers[:4])	

#using negative indexes
print(numbers[:-2])	

Output:

(1, 57, 13, 6)
(1, 57, 13, 6)

Example 4:

You can print alternate values by giving jump index.

# Printing alternate values
numbers = (1, 57, 13, 6, 18, 54)

# using positive indexes(here start and end indexes are not given and 2 is jump index.)
print(numbers[::2])	

# using negative indexes(here start index is -2, end index is not given and 2 is jump index.)
print(numbers[-2::2])	

Output:

(1, 13, 18)
(18)

Manipulating Tuples

Tuples are immutable, so items cannot be added, removed, or changed. However, you can convert a tuple to a list, modify the list, and convert it back to a tuple.

For example:

fruits = ("Apple", "Orange", "Plum", "Banana")
fruits_list = list(fruits)   # Convert to list
fruits_list.append("Guava")  # Modify the list
fruits = tuple(fruits_list)  # Convert back to tuple

print(fruits)
# Output: ('Apple', 'Orange', 'Plum', 'Banana', 'Guava')

Concatenating Tuples

You can join two tuples using the + operator.

For example:

fruits1 = ("Apple", "Orange", "Plum")
fruits2 = ("Banana", "Grapes")
fruits = fruits1+ fruits2
print(fruits)

Output:

('Apple', 'Orange', 'Plum', 'Banana', 'Grapes')

Tuple Methods

Tuple has following built-in methods:

count()

This method returns the number of times an element appears in a tuple.

Syntax:

tuple.count(element)

For example:

tuple1 = (1, 57, 3, 6, 18, 3, 3)
count_3 = tuple1.count(3)
print(count_3)  # Output: 3

index()

This method returns the first occurrence of the given element from the tuple.

Note: This method raises a ValueError if the element is not found in the tuple.

For example:

tuple1 = (1, 57, 3, 6, 18, 54, 3)
numberIndex = tuple1.index(3)
print('Index of 3 in tuple1 is:', numberIndex)
# Output: Index of 3 in tuple1 is: 2

You can specify a start index for the search. For example:

tuple1 = (1, 57, 13, 6, 18, 54, 13)
numberIndex = tuple1.index(13, 3) # Start search at index 3
print(numberIndex)
# Output: 6

That’s all for today.

I hope it was helpful.

Thanks for reading.

I created detailed Python notes while learning the language, and they’re available for only $1! Grab them here: Download Now

For more content like this click here.

Follow me on X(Twitter) for daily web development tips.

Keep Coding!!

Leave a Comment