Python Tuple

Tuples are sequential data types in Python.

A Tuple is an immutable data type in Python i.e. once defined it can not be changed.

Use round brackets"()" to define a Tuple in Python and comma(,) to separate elements.

We can access Tuple elements using the index value of the element.

Like lists, there is both side indexing in Tuples in Python i.e. from the start indexing starts with “0” and from the end, indexing starts with “-1“.

Example

myTuple = (1, 2, 3, 4, "Hello", "World")  # defining a list
print(myTuple)  # printing a list
print(myTuple[0])  # printing first element
print(myTuple[1])  # printing 2nd element
print(myTuple[5])  # printing last element
print(myTuple[-1])  # printing last element
print(myTuple[-2])  # printing last 2nd element

Output

(1, 2, 3, 4, 'Hello', 'World')
1
2
World
World
Hello

One Element Tuple

If we want to declare one element Tuple then we need to put a comma(,) after the element.

Example

myTuple = (1)
myTuple1 = ("1")
myTuple2 = (1,)
print(type(myTuple))
print(type(myTuple1))
print(type(myTuple2))
            

Output

<class 'int'>
<class 'str'>
<class 'tuple'>

Range of Indexes

Like in Lists, we can specify the range of indexes to the tuples to return a part from the tuple.

When specifying a range, the return value will be a new tuple with the specified items excluding the last value.

Example

myTuple = (1, 2, 3, 4, "Hello", "World")  # index starts with 0
print(myTuple[0:3])  # 0 to 3-1=2(excluding last value)
print(myTuple[4:5])
print(myTuple[-6:-1])  # negative indexing similiar to list
print(myTuple[-3:-2])

Output

(1, 2, 3)
('Hello',)
(1, 2, 3, 4, 'Hello')
(4,)

Changing Element Values

It is not possible to change Tuple values after a Tuple is created.

Python will show you an error if we try to change the values.

Example

myTuple = (1, 2, 3, 4, "Hello", "World")
myTuple[0] = 2
print(myTuple)

Output

Traceback (most recent call last):
  File "/tmp/sessions/95fd31eb9f7a5397/main.py", line 2, in <module>
    myTuple[0] = 2
TypeError: 'tuple' object does not support item assignment

Deleting a Tuple

We can delete an entire Tuple using the "del" keyword.

Example

myTuple = (1, 2, 3, 4, "Hello", "World")
del myTuple
print(myTuple)

Output

Traceback (most recent call last):
  File "/tmp/sessions/1dd8fce2f6c4006a/main.py", line 3, in <module>
    print(myTuple)
NameError: name 'myTuple' is not defined

We can delete an entire Tuple but it is not possible to delete one or more elements of a Tuple. Because it will be considered as a change in Tuple which is not possible as Tuples are immutable i.e. can not be changed or modified after their creation.

Example

myTuple = (1, 2, 3, 4, "Hello", "World")
del myTuple[0]

Output

Traceback (most recent call last):
  File "/tmp/sessions/5fa1dff2b174e015/main.py", line 2, in <module>
    del myTuple[0]
TypeError: 'tuple' object doesn't support item deletion

Tuple Length

We can "len()" to know the length of a Tuple.

"len()" function is used to calculate the length of other Python objects as well like "Strings and Lists" .

Example

myString = "I am a String"
myList = ["I", "am", "a", "List"]
myTuple = ("I", "am", "a", "Tuple")
print(len(myString))
print(len(myList))
print(len(myTuple))

Output

13
4
4

Joining Two Tuples

We can add or join two or more tuples using "+" operator.

Example

myTuple1 = (1, 2, 3, 4)
myTuple2 = (5, 6, 7, 8)
myTuple3 = (9, 10, 11, 12)
add1 = myTuple1 + myTuple2
add2 = myTuple1 + myTuple2 + myTuple3
print(add1)
print(add2)

Output

(1, 2, 3, 4, 5, 6, 7, 8)
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

Tuple Constructor

We can use "tuple()" constructor to create a Tuple.

Example

myStr = "1234"
myList = [1, 2, 3, 4]
myTuple1 = tuple((myStr))
myTuple2 = tuple((myList))
emptyTuple = tuple()
print(emptyTuple)
print(myTuple1)
print(myTuple2)

Output

()
('1', '2', '3', '4')
(1, 2, 3, 4)

Tuple Methods

There are two built-in methods in Python that we can use on Tuples.

1. count()

It returns the number of times a specific value is found inside a Tuple.

Example

myTuple = (1, 2, 3, 4, 1, 2, 1)
print(myTuple.count(1))

Output

3

2. index()

Searches for the specific value inside a Tuple and returns its index.

Example

myTuple = (1, 2, 3, 4)
print(myTuple.index(2))

Output

1

Also Read:


  • Simple Code to compare Speed of Python, Java, and C++?
    Introduction There’s often a lot of debate about the speed of different programming languages, with many assuming that C++ is always the fastest and Python is the slowest. However, it’s not as straightforward as it seems. In this article, I’ll walk you through simple programs with the same logic written in Python, Java, and C++…
  • Falling Stars Animation on Python.Hub October 2024
    Hello Python enthusiasts! Check out the cool animation below, featured on our Instagram page, python.hub. You can view the latest reel, posted on October 8, 2024, showcasing this animation. View this post on Instagram A post shared by Lalit Tomar • AI & Coding Wizard (@python.hub) Want the code for this reel? Simply follow this…
  • Most Underrated Database Trick | Life-Saving SQL Command
    Hello folks! Today we are again back with a super important article on the Most underrated SQL & Database Trick to save your entire application. Maintaining the data integrity of your application is very important in this world of software development. However, even experienced engineers may encounter situations where mistakes happen in changing or updating…
  • Python List Methods
    Hello friends, in this article, we will explore various Python List methods, indispensable tools in a programmer’s toolkit for manipulating lists efficiently. List methods in Python are built-in functions designed to perform specific tasks when applied to lists. To access a method in Python, we simply use the dot notation (.), linking the method to…
  • Top 5 Free HTML Resume Templates in 2024 | With Source Code
    Introduction Hello friends! Welcome to another article where I will share more useful resources for free. Today, I will share the Best 5 HTML resume templates in 2024 with source code. I have found the best HTML templates with a combination of different types; one is good in design, and the other is good in…