Tuples are sequences or a collection of objects separated by commas. They are similar to lists in many ways, except that the elements cannot be changed after they are created. And unlike lists, tuples in Python are immutable objects. Also, they use parentheses and not square brackets.
Creating a tuple is as simple as placing values separated by commas, sometimes between parentheses. Here are some examples:
- tup1 = ( ‘English’, ‘Hindi’, 1998, 2016)
- tup2 = “c”, “d”, “e”, “f”
- tup3 = (5, 6, 7, 8, 9)
As you can see, a tuple may have any number of elements, and they may be of different types – an integer, a list, a string, and so on. Using parentheses is optional, but considered a good practice to follow. Now, let us delve into the specifics.
Read about: Operators in Python
Tuples in Python
1. Creating a tuple
An empty tuple comprises two parentheses with nothing inside, i.e., (). Here’s how you create it:
empty _tup = ()
Now, let’s see how we can create non-empty tuples. Creating tuples without parentheses is called tuple packing.
Alternatively, you can use parentheses for the same output.
tup= (‘mouse’, ‘keyboard’)
For a single-element tuple, merely putting the one constituent within parentheses would not work. You will have to include a trailing comma to indicate that it is a tuple. Consider the following example.
2. Concatenation, Nesting, and Repetition
To concatenate two tuples in python, you can write the following code:
print(my_tup + your_tup)
(0,1,2,3,4,5, ‘hello’, ‘bye’)
Below is the code for creating nested tuples:
To create a tuple with repetition, follow the steps given below:
(‘hi’, ‘hi’, ‘hi’, ‘hi’)
On writing the above code without commas, you will get a string, hihihihi, as output for new_tup.
Read: Top 5 Python Modules
3. Accessing Tuples
To access values in tuple, you use square brackets with the index. Take the code below to test slicing.
4. Dealing with immutability
It is not possible to update or change the values of elements, but you can create new tuples by taking portions of existing tuples, as demonstrated in the example below.
#action invalid for tuples
#Creating a new tuple
(‘ab’, ‘xy’, 13, 14)
Similarly, you cannot remove individual elements in tuples since they are immutable. However, you can put together another tuple to discard the undesired constituents. And you can remove the entire tuple by using the del statement explicitly.
Also read: Python Developer Salary in India
Basic Tuple Operations
There are various built-in tuple functions in python, such as len(), cmp(), max(), min(), and tuple(seq). Let us demonstrate their use one by one.
- Finding length of a tuple
my_tuple = (‘upgrad’, ‘python’)
- Comparing elements
tup1 = (‘upgrad’,’python’)
tup2 = (‘coder’, 1)
if (cmp(tup1, tup2) != 0):
# cmp() returns 0 if matched, 1 when not tup1
# is longer and -1 when tup1 is shorter
print(‘Not the same’)
Not the same
- Maximum and minimum values
print (‘Maximum element in tuples 1,2: ‘ + str(max(tup1)) + ‘,’ + str(max(tup2)))
print (‘Minimum element in tuples 1,2: ‘ + str(min(tup1)) + ‘,’ + str(min(tup2)))
Maximum element in tuples 1,2: upgrad,coder
Minimum element in tuples 1,2: python,1
You will observe that the max() and min() checks are based on ASCII values. In case of two strings in a tuple, python checks the first different characters in the strings.
- Converting lists and strings into tuples
list1 = [0, 1, 2,3]
print(tuple(‘upgrad’)) # string ‘upgrad’
(‘u’, ‘p’, ‘g’, ‘r’, ‘a’, ‘d’)
Here, a single parameter, such as a list, string, set, dictionary key, is taken and converted into a tuple.
How to create a tuple in a loop
Now, let’s move on to creating tuples in a loop. You can follow the following python code to do it.
n=3 #Number of time the loop runs
or i in range (int(n)):
As you can see, there are different ways of creating a tuple and iterating over it.
Advantages over lists
Lists and tuples in Python are typically used in similar situations. But tuples are preferred over lists due to a variety of reasons. Some of them are listed below.
- Tuples are used for heterogeneous types of data. On the other hand, lists are more suitable for homogenous data types.
- Tuples offer a performance boost as iterating through them is faster as compared to lists. This is attributable to their immutable nature.
- You can go for tuple implementation to keep your data write-protected.
- Immutable elements can be used as a dictionary key.
In this article, we understood all about tuples in Python, from what they are and how to create them to their different operations and benefits. This information will surely come handy as you move forward in your Python learning journey!
If you are reading this article, most likely you have ambitions towards becoming a Python developer. If you’re interested to learn python & want to get your hands dirty on various tools and libraries, check out IIIT-B’s PG Diploma in Data Science.