Learn Python Tuples Data Structure – Part 2

In this Part 2 of Python Data Structure series, we will be discussing what is a tuple, how it differs from other data structure in python, how to create, delete tuple objects and methods of tuple objects and how tuple differs from the list.

  • Python tuples are similar to list data structure but the main difference between list and tuple is, the list is mutable type while tuples are immutable type.
  • Tuples support indexing (both positive and negative indexing) and slicing operations.
  • Tuples, in general, will be used to store heterogeneous data.
  • Compared to list iterating over tuple is fast.
  • Tuples can be used as a “key” to dictionary objects since they are hashable.
  • We can also store mutable data type inside the tuple like list, set, etc.
  • Elements of tuples cannot be modified unless the element is of mutable type.
  • Tuples are represented using parenthesis "()".

Construct Tuple Object

Similar to list tuple also has 2 ways of constructing the object.

  1. Tuple constructor method “tuple()”.
  2. Parenthesis with values separated by a comma.
Construct Tuple Object
Construct Tuple Object

NOTE: You can create empty tuple or tuple with many values, but when you are creating tuple with one value you should add a trailing comma to it otherwise it will not be considered as a tuple object.

Tuple with Commas
Tuple with Commas

You can also create tuple without parenthesis by assigning multiple values to a variable separated by commas and that will be converted to tuple object. This is called as tuple packing.

Tuple Packing
Tuple Packing

Tuple Indexing and Slicing

Similar to the list, tuple also supports indexing and slicing operation.

Each item in the tuple is assigned to an index position starting from (0) and negative index position starting from (-1). We can access the index position to get the value or even we can update the tuple item if it is only of mutable types like a list or set.

We can also use slicing to access the items in the list. Slicing allows us to access a range of items by defining the starting, ending, step parameters.

Tuples Indexing
Tuples Indexing
Tuples Indexing & Slicing
Tuples Indexing & Slicing

Tuple being an immutable type you cannot modify or remove elements from tuple but we can modify or delete a mutable element that is present inside a tuple.

Consider the example:

b = (1,2,3,'Leo',[12,13,14],(1.1,2.2))

There is a mutable object list inside tuple b at index 4. Now we can modify or delete the elements of this list.

Modify Mutable Elements
Modify Mutable Elements

Tuple Methods

Use built-in “dir()” function to access the methods and attributes for tuple objects.

Tuple Methods
Tuple Methods

count(x) method – Returns the number of times x is present in the tuple.

Tuple Count Method
Tuple Count Method

Index(x) method – Returns the first index position of x.

Tuple Index Method
Tuple Index Method

Similar to the list we can combine two tuple objects into a single object using “+” operator.

Combine two tuple objects
Combine two tuple objects

Removing and Deleting Tuple Object

Tuple being an immutable type we cannot remove elements from it. We can delete the tuple object from the namespace using the built-in keyword “del”.

Delete Tuple Object
Delete Tuple Object
Summary

In this article, you have seen what is a tuple, how tuple is constructed, how to use indexing and slicing operations, tuple methods, etc. Tuple being an immutable type can be used as “key” to dictionary objects. Iterating through a tuple is faster compared to the list. It is best to use tuple when we have our data to remain constant throughout our program.

In the next article, we will be taking a look at another built-in data structure dictionary. Till then, you can read more about Tuples here.

If this article helped, with someone on your team.

TecMint Weekly Newsletter
Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.
Check your email for a magic link to get started.
Something went wrong. Please try again.
TecMint has been free for 14 years. Help keep it that way.
Google AI Overviews and tools like ChatGPT have cut into search traffic for independent tech sites like TecMint. Running this site costs over $2,000 every month for hosting, infrastructure, and paying authors to keep the content accurate and tested.

If this article helped you solve a problem, consider buying a coffee. It helps keep TecMint free, supports the authors, and keeps the project going.
☕ Buy Me a Coffee
Karthick
A passionate software engineer who loves to explore new technologies. He is a public speaker and loves writing about technology, especially about Linux and open source.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.

Free Course
Get a free Linux course before you go.
Subscribe to TecMint Weekly and get the Learn Linux 7 Days Crash Course free. Read by 34,000+ Linux professionals every Thursday.
Something went wrong. Please try again.
Check your email for a magic link to get started.