An Introduction to Tuples in Python

Exploring Immutable Data Structures for Efficient Data Storage

In Python, a tuple is a data structure that is similar to a list, but with a key difference: tuples are immutable. This means that once a tuple is created, its elements cannot be changed. Tuples are often used to store collections of related values that should not be modified, such as days of the week, or dates on a calendar. In this article, we will explore tuples in more detail, including how to construct them, some basic tuple methods. We will also discuss the concept of immutability, which is a fundamental feature of tuples that sets them apart from other data structures

Constructing Tuples

There are several ways to create a tuple. The most common way is to enclose a sequence of values in parentheses, separated by commas. For example, you can create a tuple that stores the names of the months like this:

# Create a tuple
months = ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
months
('January',
 'February',
 'March',
 'April',
 'May',
 'June',
 'July',
 'August',
 'September',
 'October',
 'November',
 'December')

You can also create a tuple using the built-in tuple() function, which takes an iterable (such as a list or another tuple) and converts it into a tuple. For example:

my_list = [1, 2, 3]
my_tuple = tuple(my_list)
my_tuple
(1, 2, 3)

If you have a tuple containing the months of the year, you can use len() to find out how many months are in the tuple:

len(months)
12

One of the benefits of tuples in Python is that they can contain elements of different types. For example, you can create a tuple that stores both integers and strings:

my_tuple = (1, "hello", 3.14)
my_tuple
(1, 'hello', 3.14)

Indexing and slicing tuples is similar to indexing and slicing lists in Python. To access a single element of a tuple, you can use square brackets and the index of the element you want to access. In Python, indices start at 0, so the first element of a tuple has an index of 0, the second element has an index of 1, and so on. For example:

months[0]
'January'
months[::2]
('January', 'March', 'May', 'July', 'September', 'November')

Basic Tuple Methods

Tuples have built-in methods, but not as many as lists do. Let’s look at two of them:

You can use the .index() method to find the index of a specific value in a tuple. If the value is found in the tuple, the method returns the index of the first occurrence of the value. If the value is not found, the method raises a ValueError

months.index("January")
0
months.index("Nepal")
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

Cell In[10], line 1
----> 1 months.index("Nepal")


ValueError: tuple.index(x): x not in tuple

You can use the .count() method to count the number of times a specific value appears in a tuple. This method returns an integer that represents the number of occurrences of the value in the tuple. for example

t=(1,2,3,4,2,1,2,4)
t.count(2)
3

Immutability

Tuple can’t be stressed enough thay are immutable. To drive that point home, let’s take an example and try to replace “january” by “Jan”

months[0]= 'Jan'
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

Cell In[13], line 1
----> 1 months[0]= 'Jan'


TypeError: 'tuple' object does not support item assignment

Because of this immutability, tuples can’t grow. Once a tuple is made we can not add to it.

months.append('Baishakh')
---------------------------------------------------------------------------

AttributeError                            Traceback (most recent call last)

Cell In[14], line 1
----> 1 months.append('Baishakh')


AttributeError: 'tuple' object has no attribute 'append'

In summary, Tuples are immutable data structures in Python, similar to lists but with key differences. They can be constructed using parentheses, and can contain multiple data types. Tuples support basic methods like indexing, slicing, counting, and returning the length of the tuple. The immutability of tuples makes them useful for representing constant values, while their compact size and faster processing speed make them a good choice for certain types of data.

Mohan Kumar Pudasaini
Mohan Kumar Pudasaini
Data Analyst||Risk Analyst

Passionate about utilizing data to uncover valuable insights and drive actionable outcomes.

Related