Blog_Banner_Asset
    Homebreadcumb forward arrow iconBlogbreadcumb forward arrow iconData Sciencebreadcumb forward arrow iconLearn About Python Tuples Function [With Examples]

Learn About Python Tuples Function [With Examples]

Last updated:
20th Mar, 2020
Views
Read Time
6 Mins
share image icon
In this article
Chevron in toc
View All
Learn About Python Tuples Function [With Examples]

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. 

If you are a beginner and interested to learn more about data science, check out our data science certification from top universities.

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 = ()

print (empty_tup)

#Output

()

Now, let’s see how we can create non-empty tuples. Creating tuples without parentheses is called tuple packing. 

tup=‘mouse’, ‘keyboard’

print(tup)

#Output

(‘mouse’, ‘keyboard’)

 

Alternatively, you can use parentheses for the same output. 

tup= (‘mouse’, ‘keyboard’)

print(tup)

#Output

(‘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. 

tup=(50,)

2. Concatenation, Nesting, and Repetition

To concatenate two tuples in python, you can write the following code:

my_tup=(0,1,2,3,4,5)

your_tup=(‘hello’, ‘bye’)

print(my_tup + your_tup)

#Output

(0,1,2,3,4,5, ‘hello’, ‘bye’)

Below is the code for creating nested tuples:

tup1=(0,1,2)

tup2=(‘python’, ‘learn’)

tup3=(tup1, tup2)

print(tup3)

#Output

((0,1,2),(‘python’,’learn’))

To create a tuple with repetition, follow the steps given below:

new_tup=(‘hi’,)*4

print(new_tup)

#Output 

(‘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. 

tuple=(0,1,2,3)

print(tuple[1:])

print(tuple[::-1])

print(tuple[2:4])

#Output

(1,2,3)

(3,2,1,0)

(2,3)

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.

tuple1=(‘ab’, ‘xy’)

tuple2=(13,14)

#action invalid for tuples

#tuple1[0]=50

#Creating a new tuple

tuple3=tuple1+tuple2

print tuple3

#Output

(‘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.

tuple1=(‘January’, February’)

del tuple1

Also read: Python Developer Salary in India

upGrad’s Exclusive Data Science Webinar for you –

ODE Thought Leadership Presentation

Explore our Popular Data Science Courses

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’)

print(len(my_tuple))

#Output

2

  • 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’)

else:

    print(‘Same’)

#Output

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)))

#Output

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(list1))

print(tuple(‘upgrad’)) # string ‘upgrad’

#Output

(0,1,2,3)

(‘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.

Top Data Science Skills to Learn

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. 

tuple=(’python’,)

n=3 #Number of time the loop runs

or i in range (int(n)):

 tuple=(tuple,)

 Print tuple

#Output

((‘python’,),)

(((‘python’,),),)

((((‘python’,),),),)

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.

Conclusion

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 Executive PG Programme in Data Science.

Profile

Rohit Sharma

Blog Author
Rohit Sharma is the Program Director for the UpGrad-IIIT Bangalore, PG Diploma Data Analytics Program.

Frequently Asked Questions (FAQs)

1What are the characteristics of tuples in Python?

In Python, a tuple is an ordered collection of objects that cannot be changed. Here, the objects in Python could be anything like integers, tuples, lists, strings, etc. The insertion order is preserved as the display of output will be dependent upon the order in which elements are inserted. Tuples are immutable, and you cannot modify the objects once they are added to the tuple. Tuples can store both the same as well as different types of objects. Indexing plays a major role in tuples. You can store duplicates in tuples. You can use both positive and negative indexes in tuples, where positive index refers to forward direction and negative index refers to backward direction. You need to use a comma as a separator for separating objects in a tuple.

2Are there built-in methods in tuples?

Yes, there are two built-in methods available for use in tuples. Tuples are immutable, and you are not allowed to change the objects in a tuple after adding them. A tuple object can call the two available built-in methods, which are count() and index(). count() will return the number of times any specific value occurs in the entire tuple. index() will search the entire tuple for the specified value and also return the position where that value had been found.

3Why are tuples faster than lists in Python?

There are mutable and immutable objects in Python, where lists come under mutable ones, and tuples come under immutable ones. Tuples are stored in a single block of memory, and there is no requirement for extra space for storing new objects.

On the other hand, lists are allocated in two blocks, where one block stores the object information and the other block has a variable size for adding new data. This is the main reason behind tuples being faster than lists in Python. This is another reason why indexing is faster in tuples as compared to lists.

Explore Free Courses

Suggested Blogs

Data Mining Techniques & Tools: Types of Data, Methods, Applications [With Examples]
101516
Why data mining techniques are important like never before? Businesses these days are collecting data at a very striking rate. The sources of this eno
Read More

by Rohit Sharma

07 Jul 2024

An Overview of Association Rule Mining & its Applications
142281
Association Rule Mining in data mining, as the name suggests, involves discovering relationships between seemingly independent relational databases or
Read More

by Abhinav Rai

07 Jul 2024

What is Decision Tree in Data Mining? Types, Real World Examples & Applications
16859
Introduction to Data Mining In its raw form, data requires efficient processing to transform into valuable information. Predicting outcomes hinges on
Read More

by Rohit Sharma

04 Jul 2024

6 Phases of Data Analytics Lifecycle Every Data Analyst Should Know About
82639
What is a Data Analytics Lifecycle? Data is crucial in today’s digital world. As it gets created, consumed, tested, processed, and reused, data goes
Read More

by Rohit Sharma

04 Jul 2024

Most Common Binary Tree Interview Questions & Answers [For Freshers & Experienced]
10108
Introduction Data structures are one of the most fundamental concepts in object-oriented programming. To explain it simply, a data structure is a par
Read More

by Rohit Sharma

03 Jul 2024

Data Science Vs Data Analytics: Difference Between Data Science and Data Analytics
70165
Summary: In this article, you will learn, Difference between Data Science and Data Analytics Job roles Skills Career perspectives Which one is right
Read More

by Rohit Sharma

02 Jul 2024

Graphs in Data Structure: Types, Storing & Traversal
51870
In my experience with Data Science, I’ve found that choosing the right data structure is crucial for organizing information effectively. Graphs
Read More

by Rohit Sharma

01 Jul 2024

Python Banking Project [With Source Code] in 2024
14972
The banking sector has many applications for programming and IT solutions. If you’re interested in working on a project for the banking sector,
Read More

by Rohit Sharma

25 Jun 2024

Linear Search vs Binary Search: Difference Between Linear Search & Binary Search
66275
In my journey through data structures, I’ve navigated the nuances of linear search vs binary search in data structure, especially when dealing w
Read More

by Rohit Sharma

23 Jun 2024

Schedule 1:1 free counsellingTalk to Career Expert
icon
footer sticky close icon