A tuple is a collection which is ordered and unchangeable. It is similar to list, but a tuple is immutable unlike lists which are mutable.
It is created by placing items inside a parentheses (), separated by comma. Parentheses is optional.
# Creating Tuple empty_tuple = () my_tup1 = 'N','S','E','W' my_tup2 = ('North','South','East','West') print(type(empty_tuple)) print(my_tup1) print(my_tup2)
<class ‘tuple’>
(‘N’, ‘S’, ‘E’, ‘W’)
(‘North’, ‘South’, ‘East’, ‘West’)
Other way to create tuple by using the tuple() constructor. See below example.
my_tup3 = tuple((1,'South',5.5,('A','B','C'),[0,1,2])) print(my_tup3) print(type(my_tup3))
(1, ‘South’, 5.5, (‘A’, ‘B’, ‘C’), [0, 1, 2])
<class ‘tuple’>
# Creating a tuple having single value my_tup4 = (4) print(type(my_tup4)) # But the result is showing int, i.e. this is not a tuple
<class ‘int’>
To create a tuple having single value, Just include comma at last.
my_tup4 = (4,) print(type(my_tup4)) # Now its a tuple
<class ‘tuple’>
Some Built-in Python Functions
my_tup5 = 1,2.5,3,4 print(type(my_tup5)) # Type print(len(my_tup5)) # len Function - Gives the total length of the tuple. print(max(my_tup5)) # max Function - Returns element from the tuple with maximum value. print(min(my_tup5)) # min Function - Returns element from the tuple with minimum value.
<class ‘tuple’>
4
4
1
### Accessing Tuple Values – Indexing & Slicing
Use the index operator [] to access an item in a tuple. We can use a : to perform slicing which extracts chunk of more than one element as per input. In slicing last index is not included.
sides = 'East','West','North','South'
# Fetch the first element of list sides print(sides[0])
East
# Fetch the last element of list sides print(sides[-1])
South
# fetch elements start from index 1st till last print(sides[1:])
(‘West’, ‘North’, ‘South’)
# fetch elements upto 2nd index, but 2nd is not included print(sides [:2])
(‘East’, ‘West’)
# fetch element from 1st index to 3rd index print(sides [1:3])
(‘West’, ‘North’)
# fetching values in case of nested tuple my_tup = tuple((1,'South',5.5,('A','B','C'),[0,1,2])) print(my_tup[3][0]) print(my_tup[3][2])
A
C
### Updating Tuples
Python Tuple is immutable i.e. the elements inside a tuple cannot be changed!
sides = ('East','West','North','South') # Let's try to change the elements of lists sides sides[0]= 1
TypeError Traceback (most recent call last)
<ipython-input-14-b1dd30231e62> in <module>()
3 # Let’s try to change the elements of lists sides
4
—-> 5 sides[0]= 1
TypeError: ‘tuple’ object does not support item assignment
### Deleting Tuples
Individual element in tuple cannot be removed. Entire tuple can be removed by using del
statement.
# Removing tuple completely del sides
sides # This will raise exception, as sides tuple removed
NameError Traceback (most recent call last)
<ipython-input-16-7623a01b7793> in <module>()
—-> 1 sides # This will raise exception, as sides tuple removed
NameError: name ‘sides’ is not defined
### Concatenation & Repetition of Tuples
sides = ('East','West','North','South') modesides = ('North-East','North-East','South-East','South-West') print(sides) print(modesides)
(‘East’, ‘West’, ‘North’, ‘South’)
(‘North-East’, ‘North-East’, ‘South-East’, ‘South-West’)
# Concatenation sides = sides + modesides print(sides)
(‘East’, ‘West’, ‘North’, ‘South’, ‘North-East’, ‘North-East’, ‘South-East’, ‘South-West’)
# Repetition sides = sides * 2 print(sides)
(‘East’, ‘West’, ‘North’, ‘South’, ‘North-East’, ‘North-East’, ‘South-East’, ‘South-West’, ‘East’, ‘West’, ‘North’, ‘South’, ‘North-East’, ‘North-East’, ‘South-East’, ‘South-West’)
### Tuple Method
Python includes following tuple methods.
Index() :
Returns the index of the first matched item.
sides = 'EAST','West','North','East','South','East' print(sides.index('East')) print(sides.index('West'))
3
1
Count():
Returns the count of number of items passed as an argument.
print(sides.count('East'))
2
Thanks!
Happy Learning! Your feedback would be appreciated!
shobhitsingh.in
Github Code Link