07 TUPLES
07 TUPLES
immutable
What is Tuple?
Are sequence that are used to store a tuple of
values of any type
Tuples are immutable i.e. you cannot change
the elements of tuple in place.
Python will create a fresh tuple when we make
changes to an element of tuple.
Creating and accessing tuples
🞇Tuples are created just like list except by
parenthesis “()” in place of square bracket “[]”
🞇Examples of tuple :
()
(1,2,3)
(2,2.5,4,1.2)
(„a‟,1,‟b‟,2,‟c‟,3)
(„”red”,”green”,”blue”)
Creating tuples
T = () # empty tuple
T = (value1, value2, value3,….)
1. Empty Tuple
T = () Or
T = tuple()
Creating tuples
2. Single element Tuple
>>> T = (20)
>>> T
20
>>> T = 5,
>>> T
(5,)
>>> T = (100,)
>>> T
(100,)
Creating tuples
3. Creating long tuples
roots =
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
4. Nested tuples
>>> T1 = (10,20,30,(40,50,60),100)
>>> len(T1) #5
>>> T1[1] # 20
>>> T1[3][1] # 50
Creating tuples from existing sequence
T = tuple(sequence)
>>> T = tuple('python')
>>> T
('p', 'y', 't', 'h', 'o', 'n')
>>> items=[100,200,300,400]
>>> T2 = tuple(items)
>>> T2
(100, 200, 300, 400)
>>> t1 = tuple(input('enter elements'))
enter elementsabcde
>>> t1 VINOD KUMAR VERMA, PGT(C S), KV OEF KANPUR &
('a', 'b', 'c', 'd', 'e') SACHIN BHARDWAJ, PGT(CS), KV NO.1 TEZPUR
Using eval() while creating tuple
>>> mytuple=eval(input("enter tuple elements"))
enter tuple elements(10,'ravi',10.5)
>>> mytuple
(10, 'ravi', 10.5)
>>> L1 = [10,20,30]
>>> T1 = (100,200,300)
>>> L1[1]=200 # VALID
>>>T1[1]= 150 # INVALID coz tuples are immutable
Traversing tuple
🞇We can use “for” loop to access every element of tuple
qualifications=("B.A.","M.A.","B.Sc","M.Sc","MCA","M.Com","B.Tech")
for q in qualifications:
print(q)
Or
qualifications=("B.A.","M.A.","B.Sc","M.Sc","MCA","M.Com","B.Tech")
for i in range(len(qualifications)):
print("Index :“, i, „ „, qualifications[i])
Tuple operations
1. Joining Tuple
>>> t1=(10,20,30)
>>> t2=('a','b','c')
>>> t3 = t1 + t2
>>> t3
(10, 20, 30, 'a', 'b', 'c')
Note: you can add tuple with only another tuple and not
with int, complex number, string or list
>>>t1 +20 #Error
Ifyou want to add a tuple with another tuple with one value
only and if you write statement as:
>>>t1 +(20) #Error, because (20) will be treated as number
Tuple operations
To add single value tuple just add comma(,) after the value
as:
>>> t1 = (10,20,30)
>>> t1 + (50,)
(10,20,30,50)
Replicating Tuple:
>>> t1=("do","it")
>>> t1*3
('do', 'it', 'do', 'it', 'do', 'it')
Slicing Tuples
T [start : end] # all values between index start to end – 1
data=(10,20,30,1,7,9,100,51,75,80)
data2 = data[4:-4]
print(data2)
print(data[1:6])
print(data[4:-2])
print(data[-40:4])
print(data[::-1])
print(data[::-2])
print(data[2:10:2])
Slicing Tuples
T [start : end] # all values between index start to end – 1
data=(10,20,30,1,7,9,100,51,75,80) Output
data2 = data[4:-4] (7, 9)
print(data2) (20, 30, 1, 7, 9)
(7, 9, 100, 51)
print(data[1:6]) (10, 20, 30, 1)
print(data[4:-2]) (80, 75, 51, 100, 9, 7, 1, 30,
print(data[-40:4]) 20, 10)
(80, 51, 9, 1, 20)
print(data[::-1]) (30, 7, 100, 75)
print(data[::-2])
print(data[2:10:2])
Slicing Tuples
>>> tp1 = (11,12,15,20,8,9,10)
>>> seq1 = tp1[::2]
>>> seq1 = tp1[5::2]
>>> tp1[2:5]*3
(15, 20, 8, 15, 20, 8, 15, 20, 8)
>>> tp1[2:5] + (500,1000)
(15,20,8,500,1000)
Comparing tuples
>>> a=(10,20)
>>> b=(10,20)
>>> c=(20,10)
>>> a==b
True
>>> a==c
False
>>> d=(20.0,10.0)
>>> c==d
True
>>> a<c
True
Unpacking tuples
Creating a tuple from a set of values is called packing and its
reverse i.e. creating individual values from tuple‟s elements is
called unpacking.
Unpacking is done by using following syntax:
var1, var2, var3, … = tuple_Object
Example:
>>> t1 = (100,200,300,400)
>>> a,b,c,d = t1
>>> a
100
>>> b
200
>>> c
T300
Note: Tuple unpacking requiresVINthOaD KtUtMhAeRVlEisRtMAo,fPGvTa(CrSi)a,KbVleOEsFKoAnNPtUhRe& left
side must be same as the length oSfAtCuHpINleBHARDWAJ,PGT(CS), KV NO.1 TEZPUR
Deleting tuples
The del statement of python is used to delete elements and
objects but as you know that tuples are immutable, which also
means that individual elements of tuples cannot be deleted.
For example
del t1[2] # Error, coz elements of tuple cannot be deleted
>>>t1 = ( 10,20,30)
>>> print(t1)
(10,20,30)
>>> del t1
>>> print(t1) # Error t1 is not defined
VINOD KUMAR VERMA, PGT(C S), KV OEF KANPUR &
SACHIN BHARDWAJ, PGT(CS), KV NO.1 TEZPUR
Tuple functions and methods
1. len() : returns number of elements in the tuple
>>> book = („B001‟,‟Let Us Python‟,‟DP‟,500)
>>> len(book)
4
2. max() : it returns element from tuple having maximum value
>>> salary=(1000,1500,800,700,1200)
>>> max(salary)
1500
>>>fruits=("mango","pine apple","apple","carrot")
>>> max(fruits)
'pine apple„
Note: max() function will return maximum value only if all the elements
in tuple is of same type. If elements are of different type then python
will raise an exception.
>>>t1 = (10,20,30,(40,50),V9IN0O)DSACHIN
KUMAR VERMA, PGT(CS), KV OEF KANPUR &
BHARDWAJ, PGT(CS), KV NO.1 TEZPUR
>>> max(t1) # Error
Tuple functions and methods
3. min() : it returns element from tuple having minimum value
>>> salary=(1000,1500,800,700,1200)
>>> min(salary)
700
>>>fruits=("mango","pine apple","apple","carrot")
>>> min(fruits)
'apple„
Note: min() function will return minimum value only if all the elements
in tuple is of same type. If elements are of different type then python
will raise an exception.
>>> t1 = (10,20,30,(40,50),90)
>>> min(t1) # Error
4. index() : it return index value of given element in the list, if element
not present it raises ValueError exception
>>> salary.index(800) VINOD KUMA#R V2ERMA, PGT(CS), KV OEF KANPUR &
SACHIN BH A RD W AJ , PG T(C S) , KV N O.1 T EZPUR
>>>salary.index(5000) # V a lu e Err or e xc e p tion
Tuple functions and methods
5.count() : it return the count of any element in the tuple i.e. how
many times the given element is in the tuple. If given element not in
the tuple it return 0.
>>> val=(10,20,30,20,10,60,80,20)
>>> val.count(20)
3
>>> val.count(80)
1
>>> val.count(100)
0
6.tuple(): this method is actually a constructor used to create tuples
from different type of values.
Creating empty tuple
tup = tuple()
Tuple functions and methods
Creating tuple from string
tup = tuple(“quick brown fox”)
Creating a tuple from a list
tup = tuple([1,20,40])
Creating a tuple from keys of dictionary
>>>tup = tuple({1:”One”,2:”Two”})
>>> tup # (1,2)