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:


  • The system of the binary conversion
    The binary number system defines a number in a binary system. You only find the number in a two-number system the 1 and the 0. The binary number system is an alternative system of representation to the decimal number system. The decimal number system is from (0 to 9) and has a base of 10…
  • What is web development for beginners?
    Introduction In web development, we refer to website so web development refers to website development. “Web” word has been taken from the spider’s web because of the analogy that like a web is connected similarly websites are also connected to each other through the Internet. History of web development 3 Pillars of web development HTML…
  • Guide to Proxy Servers: How They Work and Why You Need Them?
    What is a web proxy? During our college days, we often heard the term “proxy” which referred to the act of someone else marking our attendance, allowing us to be present in a class even if we were not physically there. In the context of the Internet, a web proxy works similarly, acting as an…
  • Python | Check Armstrong Number using for loop
    An Armstrong number is a number that is equal to the sum of its own digits raised to the power of the number of digits. Consider 153. It has 3 digits, so we raise each digit to the power of 3(the number of digits) and sum them up:1^3 + 5^3 + 3^3 = 1 +…
  • Python | Factorial of a number using for loop
    The factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. The factorial of 0 is defined to be 1. The factorial formula can be expressed as: n! = 1 * 2 * 3 * … * n Code to calculate factorial of…