SlideShare a Scribd company logo
PYTHON APPLICATION PROGRAMMING -18EC646
MODULE 3
TUPLES
Prof. Krishnananda L
Department of ECE
Govt SKSJTI
Bengaluru
INDEX
1. 10.1-Tuples are immutable
2. 10.2-ComparingTuples
3. 10.3-Tuple assignment
4. 10.4-Dictionaries and tuples
5. 10.5-Multiple assignment with dictionaries
6. 10.6-The most common word
7. 10.7-UsingTuples as keys in dictionaries
What is python tuples ?
1
How to create python tuple
2
Parentheses in python tuple
3
Tuples are immutable
4
Python tuples for single item
5
Slicing in python tuples
6
Tuples as return values
7
Variable-length arguments
8
Python tuple functions
9
Python tuple methods
Iterations on python tuple
Dictionaries and python
TABLE OF CONTENTS
10
11
12 2
WHAT IS PYTHON TUPLES ?
 Tuples is a sequence data type which are ordered, indexed and immutable .
 A Tuple is a collection of Python objects separated by commas. May or may not
be enclosed within parentheses.
 Elements of the tuple may be numbers, strings or other data type like Lists
 Elements in the tuple can be extracted using square-brackets with the help of
indices. Similarly, slicing also can be applied to extract required number of items
from tuple
 Tuple may contain single element also or we may create an empty tuple
 Tuples allow duplicate elements to be present and are indexed
 Tuples are comparable and hashable objects. Hence, they can be made as keys in
dictionaries 3
HOW TO CREATE A PYTHON TUPLE ?
• SS
Syntactically, a tuple is a list of items separated by commas, inside a parenthesis.
Can be assigned to a tuple object.
>>> my_group = ('Govindaraju N’,'Akshatha p’,'Vinay’,'Abhishek’)
>>> type(my_group)
<class 'tuple’>
>>> print(my_group)
('Govindaraju N', 'Akshatha p', 'Vinay', 'Abhishek')
>>> my_tuple=(1, 2, ‘Krishna’, 45.67)
>>>print (my_tuple)
(1, 2, 'krishna', 45.67)
4
PARENTHESIS REQUIRED IN PYTHON TUPLES ?
th
Parentheses is not really necessary for python tuples. But, it’s a good practice to
use them. This is called tuple packing.
Yess…! We get the output without parenthesis.
t='a','b','c','d','e'
print(t, type(t))
Output:
('a', 'b', 'c', 'd', 'e') <class
'tuple'>
t=1,2,3,4,5,6
print(t, type(t))
Output:
(1,2,3,4,5,6) <class 'tuple'>
5
TUPLES ARE IMMUTABLE
• SS
We cannot change the elements of a tuple once assigned.
Lets try changing a value and check :
>>> my_tuple = (1,2,3,[6,5]) #lets try to change the element at index 1
>>> my_tuple[1] = 10
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
my_tuple[1]=10
TypeError: 'tuple' object does not support item assignment
6
• SS
Ooh!... we failed to get our desired output
Now how about changing an element from the list contained in a tuple ?
Yess…! It worked without a flaw. So we came to know that while tuples are
immutable, a mutable item that it holds may be reassigned.
>>> my_tuple = (1,2,3,[6,5])
>>> my_tuple[3][0] = 10
>>> print (my_tuple)
(1, 2, 3, [10, 5])
7
CREATING TUPLES FOR SINGLE ITEM
>>>my_college=("SKSJTI")
>>> print(my_college)
SKSJTI
We have got our expected
output lets check its
type….
>>> type(my_college)
<class ‘str’>
What…! we got
string,we have not
missed parentheses right
then why not tuple?
>>>num=(1)
>>> type(num)
<class ‘int’>
A single value inside a
parentheses is not a
tuple
>>> x=(3)
>>> print (x)
3 ## not a tuple but
an integer
>>> type(x)
<class 'int'>
>>> x=(3,)
>>> print (x)
(3,)
>>> type (x)
<class 'tuple'> 8
Now lets alter the same program and check the output:
Now lets check its type:
>>>my_college2=(“SKSJTI”,)
>>> print(my_college2)
('SKSJTI',)
Youcan notice some
changesin the code and
outputofthe print
statementcomparedto
previousone
>>> type(my_college2)
<class ‘tuple’>
Yes..! we got it
as tuple
Final comma
CONCLUSION : To create a tuple with single element,you have to include the
final comma; otherwise python will not recognize the object as tuple.
9
• >>> min(t1)
• 'hello'
• >>> min(t)
• 'd'
Simple Operations with Tuples
Comparing tuples:
• Tuples can be compared using operatorslike >, == etc.
• When we need to check equality among two tuple objects,
the first item in first tuple is compared with first item in
second tuple. If they are same, next items are compared. The
check continues till either a mismatch is found or items get
over.
• Ex
>>> (1,2,3)>(1,2,5)
False
>>> (3,4)==(3,4)
True
>>> ('hi','hello') > ('Hi','hello')
True
>>>(1,2)<('h','k')
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
(1,2)<('h', 'k')
TypeError: '<' not supported between instances
of 'int' and 'str'
>>> t='Mango', 'Banana', 'Apple’
#without parentheses
>>> print(t)
('Mango', 'Banana', 'Apple’)
>>> t1=('Tom', 341, 'Jerry’)
#with parentheses
>>> print(t1)
('Tom', 341, 'Jerry’)
Note: Tuple is an
ordered (sequence)
data type. Its
elements can be
accessed using
positional index
10
• >>> t=(1,3,4,5, 5,6,7)
• >>> print (t)
• (1, 3,4,5,5, 6,7)
• >>> t.count(5)
• 2
• >>> print (t[3])
• 5
• >>> print (t[4])
• 5
Simple Operations with Tuples
## create a new tuple using existing tuples
(similar to string concatenation)
>>> t1=('C', 'Python')
>>> t2=('matlab',)
>>> t=t1+t2
>>> print (t)
('C', 'Python', 'matlab')
## strings vs tuples
t=("hello" "world")
>>> print (t)
helloworld
>>> type (t)
<class 'str'>
>>> t1=("hello", "world")
>>> print (t1)
('hello', 'world')
>>> type (t1)
<class 'tuple'>
>>>print (t[0])
h
>>> print (t1[0])
hello
>>>print (t[1])
e
>>>print (t1[1])
World
>>>print (t[2])
l
>>>print (t1[2])
Traceback (most recent call last):
File "<pyshell#79>", line 1, in
<module>
print (t1[2])
IndexError: tuple index out of
range
>>>max(t1)
'world'
>>> max(t)
'w'
>>> min(t1)
'hello'
>>> min(t)
'd'
>>> t=(1, 3, 4, 5, 5, 6, 7)
>>> print (t)
(1, 3, 4, 5, 5, 6, 7) ## supports duplicate elements
>>> print (t[3])
5
>>> print (t[4])
5
### different ways to define tuples
>>>tup1 = ('python’, ‘java', 2021, 98.6)
>>>tup2 = (1, 2, 3, 4, 5 )
>>>tup3 = "a", "b", "c", "d"
11
Slicing in Tuples
If you want to access a range of items in a tuple or you want a part(slice) of a tuple,
use slicing operator [ ] and colon :
>>> #positive indexing
>>> percentage = (90,91,92,93,94,95)
#Slicing
>>> percentage[2:4]
(92, 93)
>>> percentage[ :4]
(90, 91, 92, 93)
>>> percentage[4: ]
(94, 95)
>>> percentage[2:2]
()
>>> #Negative indexing
>>> percentage[ : − 2]
(90, 91, 92, 93)
>>> percentage[− 2: ]
(94, 95)
>>> percentage[2: − 2]
(92, 93)
>>> percentage[− 2:2]
()
>>> percentage[ : ] #Prints whole tuple
(90, 91, 92, 93, 94, 95)
>>> t=('Mango', 'Banana', 'Apple’)
>>> print(t[1])
Banana
>>> print(t[1:]) ## slicing
('Banana', 'Apple’)
>>> print(t[-1])
Apple ## slicing with negative index
12
TUPLE ASSIGNMENT
Tuple assignment feature allows a tuple of variables on the left side of an assignment
to get the values on the right side.
>>> a,b,c,d=‘apple’,‘mango’,‘grapes’,‘orange’
>>> print(a)
apple #output
>>> a,b,c,d=1,2,3,4
>>> print(c)
3 #output
>>> a,b,c,d=1,2,3
ValueError: not enough values to unpack
(expected 4, got 3)
The number of variables on the left and the
number of values on the right have to be same
>>> email = ‘monty@python.org’
>>> uname, domain = email.split('@’)
>>> print(uname ,‘n’, domain)
monty
python.org
The return value from split is a list with two
elements; the first element is assigned to
uname, the second to domain. 13
TUPLE ASSIGNMENT
###When we have list of items,
they can be extracted and stored
into multiple variables
>>>t1=("hello", "world")
>>> x, y=t1
>>> print (x)
hello
>>> print (y)
world
## x and y got the values
As per the index
The best known example of assignment
of tuples is swapping two values
(a,b)=(10,20)
>>> print (a,b)
10 20
>>> a,b=b,a
>>> print (a,b)
20 10
###
the statement a, b = b, a is treated by
Python as – LHS is a set of variables,
and RHS is set of expressions. The
expressions in RHS are evaluated and
assigned to respective variables at LHS
>>>(a,b)=(10,20,30)
Traceback (most recent call last):
File "<pyshell#88>", line 1, in
<module>
(a,b)=(10,20,30)
ValueError: too many values to unpack
(expected 2)
Note: While doing assignment of
multiple variables, the RHS can be
any type of data like list, string, tuple,
int etc.
>>> (a,b)=(20,'krishna')
>>> print (a,b)
20 krishna
14
Tuples As Return Values of a function
a=(12,34,55)
>>> min(a)
12
>>> min(a),max(a)
(12,55)
A function can only return one value, but if the value is a tuple, the effect is same as
returning multiple values.
>>> t = divmod(7,3)
‘‘‘ Built in function divmod takes two arguments
and returns two vales: quotient and remainder’’’
>>> t
#output
(2,1)
>>> quot , rem = divmod(7,3)
>>> quot
#output
2
>>> rem
1
t=(1,2,3,4)
def min_max(t):
return
min(t),max(t)
print(min_max(t))
#max and min are built-in function returns largest and
smallest number
#output
(1, 4)
a=(12,34,55)
>>> min(a)
12
>>> min(a), max(a)
(12, 55)
15
VARIABLE-LENGTH ARGUMENT TUPLES
Functions can take a variable number of arguments. A parameter name that begins with
* gathers (makes) arguments into a tuple.
Example : printall takes any number of arguments:
>>> def printall(*args):
print(args)
…..
>>> printall(1,2.0,'3')
(1, 2.0, '3')
The * gather parameter can have any name
you like, but args is conventional.
>>>def printall(*args):
print (args)
>>> printall (1,(4,5), 'krishna')
(1, (4, 5), 'krishna')
16
• SS
The complement of gather is scatter.
If you have a sequence of values and you want to pass it toa function as multiple
arguments, you can use * operator.
Example: divmod takes exactly two arguments; it doesn’t work with tuple.
>>> t=(7,3)
>>> divmod(t)
TypeError: divmod expected 2arguments, got 1
>>> divmod(*t)
(2,1)
But if you scatter the tuple it works:
Many built-in functions use variable length parameters except sum().
>>> max(1,2,3)
3
>>> sum(1,2,3)
TypeError: sum() takes at most 2 arguments (3 given)
17
len()
1
max()
2
min()
3
sum()
4
any()
5
all()
6
sorted()
7
tuple()
8
PYTHON FUNCTIONS
18
1. len()
Like a list, a python tuple is of a certain length. The len() function returns the number
of elements in the tuple.
>>>t=(1,'mango',2,'apple',3,'grapes')
>>> len(t)
6
>>>t1=(23, 45.67, 'krishna',[5,6])
>>>len(my_tuple)
4
2.max()
It returns the item from the tuple which is having a highest value.
>>> max(34.56, 78.34, 100.45)
100.45
>>>max(34.56,78.34,100.45, 200)
200
19
>>> no_s=(1,2,3,4,5,6)
>>> max(no_s)
6
>>> x=(1,2,3,4,[5,6])
>>> max(x)
Traceback (most recent call
last):
File "<pyshell#17>", line 1, in
<module>
max(x)
TypeError: '>' not supported
between instances of 'list' and
'int'
>>> y=( ‘Hi’, ‘hi’, ‘Hello’)
>>> max(y)
‘hi’
>>> a=('hi',9)
>>> max(a)
Traceback (most recent call
last):
File "<pyshell#19>", line 1, in
<module>
max(a)
TypeError: '>' not supported
between instances of 'int' and
'str'
Youcant compare int and list Youcant compare int and string
20
3.min()
Like the max() function, the min() returns the item with lowest values.
>>> no_s=(10,20,30,40,50,60)
>>> min(no_s)
10
>>> x=('hi','Hi','Hello')
>>> min(x)
'Hello'
4.sum()
This function returns the arithmetic sum of all the items in the tuple.
>>> no_s=(1,2,3,4,5,6)
>>> sum(no_s)
21
>>> x=('1','2','3','4') >>> sum(x)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
sum(x)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Youcan’t apply this function on a tuple with strings.
>>> min(34.56, 78.34, 100.45, 200)
34.56
>>>sum(34.56,78.34,100.45,200)
Traceback(mostrecentcall last):
File "<pyshell#131>",line1, in <module>
sum(34.56,78.34,100.45,200)
TypeError:sum()takesat most 2 arguments(4given)
>>>sum("krishna","hello")
Traceback(mostrecentcall last):
File "<pyshell#135>",line1, in <module>
sum ("krishna","hello")
TypeError:sum()can't sum strings[use ''.join(seq)instead]
21
5.any()
Python any() function returns true if any of the item in tuple is true else it returns false.
The any() function returns false if the passed tuple is empty.
# all elements are true
>>>t=(1,"Begginers",22)
>>>print(any(t))
True
>>>t=(1,2,3,4)
>>>print(any(t))
True
#emptytuple
>>> t=()
>>> print(any(t))
False
#all elementsare false
>>> t2=(0,False,0)
>>> print(any(t2))
False
22
6. all()
Python all() function returns true if all the item in tuple is true else it returns false.
The all() function returns true if the passed tuple is empty.
The 0(zero) values are considered as false and non zero values such as 1,2,30…etc are
considered true
>>> t=(0,1,0,3)
>>> print(all(t))
False
>>> t=('abc',1,2,3)
>>> print(all(t))
True
>>> t=('abc',False,2,3)
>>> print(all(t))
False
>>> t=(True,0,False)
>>> print(all(t))
False
>>> t=() ## empty tuple
>>> print (all(t))
True
>>> t=(23, 1, 6)
>>> print (all(t))
True
>>> t=(0,0,0)
>>> print (all(t))
False
>>> t=(0,2,4)
>>> print (all(t))
False
23
7. sorted()
This function returns a sorted version of the tuple.
The sorting is in ascending order, but you can specify ascending or descending and it
doesn’t modify the original tuple in python.
>>> a=(3,4,5,1,2,6)
>>> sorted(a)
# output
[1, 2, 3, 4, 5, 6]
a=('h','b','a','d','c','e','g','f')
y=sorted(a)
print(y)
#output
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
#descending order
a=('h','b','a','d','c','e','g','f')
y=sorted(a, reverse=True)
print(tuple (y))
#output
('h', 'g', 'f', 'e', 'd', 'c', 'b', 'a')
>>> a=(45, 636, 23, 35.33, 89.34)
>>> sorted(a)
[23, 35.33, 45, 89.34, 636]
>>> print (sorted(a))
[23, 35.33, 45, 89.34, 636]
>>> print (sorted(a, reverse=True))
[636, 89.34, 45, 35.33, 23]
24
8. tuple()
This function converts another construct into a python tuple.
list1=[1,2,3,4]
y=tuple(list1)
print(y)
#output
(1, 2, 3, 4)
str=“GovtSKSJTI"
y=tuple(str)
print(y)
#output
('G', 'o', 'v', ‘t', ‘S', ‘K', ‘S', ‘J, ‘T', ‘I')
set1={2,1,3}
y=tuple(set1)
print(y)
#output
{1, 2, 3}
We declared set as 2,1,3 it automatically reordered itself to
1,2,3.Furthermore, creating python tuple form it returned the
new tuple in the new order, that is ascending order
25
PYTHON TUPLE METHODS
 A method is a sequence of instructions to perform some task.
 We call a method using the dot operator in python.
 Python has two built-in methods to use with tuples
1. index()
This method takes one argument and returns the index of the first appearance of an
item in a tuple.
>>> a=(1,2,3,2,4,5,2)
>>> a.index(2)
#output
1
>>> a.index(3)
2
As you can see, we have 2’s at positions 1, 3 and 6.
But it returns only first index
count() Returns the number of times a specified value occurs in a tuple
index() Searches the tuple for a specified value and returns the position of
first appearance of that element
26
2. count()
This method takes one argument and returns the number of times an item
appears in the tuple.
>>> a=(1,2,3,2,4,5,2)
>>> a.count(2)
#output
3
As you can see, 2 is repeated three
times the output is 3
>>> t=(1,3,'a','a','a','krishna',3,5)
>>> print (t)
(1, 3, 'a', 'a', 'a', 'krishna', 3, 5)
>>> t.index('a')
2
>>> t.count('a')
3
>>> t.count(3)
2
>>>t.index('krishna')
5
27
Note: You can't add elements to
a tuple because of their
immutable property. There's
no append() or extend() method
for tuples
Note: We cant remove or replace
individual elements from the
tuple
28
PYTHON TUPLE OPERATIONS
1.Membership
We can apply the ‘in’ and ‘not in’ operators on items. This tells us whether they
belong to the tuple. t1=(1,2,3,4,5)
t2=(6,7,8,9)
for item in list1:
if item in list2:
print('overlapping')
else:
print('not overlapping’)
#output
not overlapping
>>> t=(1,3,'a','krishna',5)
>>> print (t)
(1, 3, 'a', 'krishna', 5)
>>> 3 in t
True
>>> 'a' in t
True
>>> 2 in t
False 29
2. Concatenation
Concatenation is the act of joining. We can join two tuples using the
concatenation operator ‘+’.
x=(1,2,3)
y=(4,5,6)
z=x + y
print(z)
#output
(1, 2, 3, 4, 5, 6)
x=(1,2,3)
y=(‘Bengaluru’,)
z=x + y
print(z)
#output
(1, 2, 3, ‘Bengaluru')
3. Relational All Relational operators (like >,>=,…) can be applied on a tuple.
>>> (1,2,3) > (4,5,6)
False
>>> (1,2)==(‘1’,‘2’)
False
int 1 and 2 aren’t equal to the strings ‘1’ and ‘2’ so it returned.
Tuples are comparable.
>>> x=('java',‘ python')
>>> y=('C', 'C++', 'Ruby')
>>> print (x+y)
('java', 'python', 'C', 'C++', 'Ruby')
30
4. Identity()
• Identity operators are used to determine whether a value is of a certain class or
type.
• They are usually used to determine the type of data a certain variable contains.
• There are two identity operators: ‘is’ and ‘is not’
x=(1,2,3,4,5)
if ( type(x) is tuple):
print(‘true')
else:
print(‘false’)
#output
true
x=(1,2,3,4,5)
if ( type(x) is not list):
print(‘true')
else:
print(‘false’)
#output
true
>>> x=(1,2,3,4,5)
>>> (1,2,3,4,5) is x
#output
false
31
 The Python is and is not operators compare
the identity of two objects.
 Everything in Python is an object, and each
object is stored at a specific memory location.
The Python is and is not operators check
whether two variables refer to the same object
in memory.
 'is' operator – Evaluates to true if the variables
on either side of the operator point to the
same object and false
 'is not' operator – Evaluates to false if the
variables on either side of the operator point
to the same object and true otherwise.
 They are used to check if two values (or
variables) are located on the same part of the
memory. Two variables that are equal
does not imply that they are identical.
b=(4,5,6)
>>> y=('C', 'C++', 'Ruby')
>>> b is y
False
>>> b is not y
True
>>> a=(1,2,3)
>>> id(a)
1956981818624
>>> b=(1,2,3)
>>> id(b)
1956981816768
>>> a is b
False
>>> a==b
True
## deleting a tuple
>>> y=('C', 'C++', 'Ruby')
>>> print (y)
('C', 'C++', 'Ruby')
>>> id (y)
1956981813440
>>> del y
>>> print (y)
Traceback (most recent call last):
File "<pyshell#218>", line 1, in
<module>
print (y)
NameError: name 'y' is not defined
32
We can iterate on a python tuple using a for loop ,its similar as we iterate on a
list
for i in (1,2,3):
print(i)
#output
1
2
3
s='abc'
t=(1,2,3)
for pair in zip(s,t):
print(pair)
#output
('a', 1)
('b', 2)
('c', 3)
zip is a built in function that takes two
or more sequences and returns a list of
tuples where each tuple contains one
element from each sequence.
Here 'abc' is a string and (1,2,3) is a
tuple
#You can use zip object to make a list
>>> list(zip(s, t))
[('a', 0), ('b', 1), ('c', 2)]
Iterating on Python tuples
>>> list(zip('Anne', 'Elk’))
#Sequence lengths are not same
[('A', 'E'), ('n','l'), ('n', 'k')] 33
t = [('a', 0), ('b', 1), ('c', 2)]
for letter, number in t:
print(number, letter)
#output
0 a
1 b
2 c
Each timethrough the loop,
Python selects the next tuple
in the list and assigns the
elementsto letterand number.
Let us try to get the output of the elements of a sequence with
their indices . Using built in function enumerate:
for index, element in enumerate('abc'):
print(index, element)
#output
0 a
1 b
2 c
34
DICTIONARIES AND TUPLES
Dictionaries have a method called items that returns a sequence of tuples, where each
tuple is a key value pair:
>>> d={'a':0, 'b':1, 'c':2 }
>>> t=d.items()
>>> t
dict_items([('a',0), ('b', 1), ('c', 2)])
The result is a dict_items object , which
is an iterator that iterates the key value
pairs.
You can use it is a for loop like this:
>>> for key,value in d.items():
… print(key,value)
…
a 0
b 1
c 2
35
You can also use a list of tuples to initialize a new dictionary:
>>> t= [('a', 0), ('b', 1), ('c', 2)]
>>> d= dict(t)
>>> d
{'a':0, 'b':1, 'c':2 }
Combining dict with zip yields a concise way to create a
dictionary.
>>> d= dict(zip(‘abc’,range(3)))
>>> d
{'a':0,'c’:2,'b':1}
36

More Related Content

What's hot (20)

PDF
Datatypes in python
eShikshak
 
PPTX
File handling in Python
Megha V
 
PPTX
Tuple in python
Sharath Ankrajegowda
 
PDF
Basic Concepts in Python
Sumit Satam
 
PPTX
Chapter 03 python libraries
Praveen M Jigajinni
 
PPTX
Data types in python
RaginiJain21
 
PDF
Python Variable Types, List, Tuple, Dictionary
Soba Arjun
 
PDF
Python basic
Saifuddin Kaijar
 
PPTX
python conditional statement.pptx
Dolchandra
 
PPTX
Functions in python
colorsof
 
PPTX
Looping Statements and Control Statements in Python
PriyankaC44
 
PPTX
Python ppt
Anush verma
 
ODP
Python Modules
Nitin Reddy Katkam
 
PPTX
Chapter 08 data file handling
Praveen M Jigajinni
 
PPT
Python Control structures
Siddique Ibrahim
 
PDF
Python programming : Files
Emertxe Information Technologies Pvt Ltd
 
PDF
Introduction to Python
Mohammed Sikander
 
PPTX
String Manipulation in Python
Pooja B S
 
PPTX
Python Data-Types
Akhil Kaushik
 
PPTX
Python Functions
Mohammed Sikander
 
Datatypes in python
eShikshak
 
File handling in Python
Megha V
 
Tuple in python
Sharath Ankrajegowda
 
Basic Concepts in Python
Sumit Satam
 
Chapter 03 python libraries
Praveen M Jigajinni
 
Data types in python
RaginiJain21
 
Python Variable Types, List, Tuple, Dictionary
Soba Arjun
 
Python basic
Saifuddin Kaijar
 
python conditional statement.pptx
Dolchandra
 
Functions in python
colorsof
 
Looping Statements and Control Statements in Python
PriyankaC44
 
Python ppt
Anush verma
 
Python Modules
Nitin Reddy Katkam
 
Chapter 08 data file handling
Praveen M Jigajinni
 
Python Control structures
Siddique Ibrahim
 
Python programming : Files
Emertxe Information Technologies Pvt Ltd
 
Introduction to Python
Mohammed Sikander
 
String Manipulation in Python
Pooja B S
 
Python Data-Types
Akhil Kaushik
 
Python Functions
Mohammed Sikander
 

Similar to Python-Tuples (20)

PDF
updated_tuple_in_python.pdf
Koteswari Kasireddy
 
PPTX
Tuples class 11 notes- important notes for tuple lesson
nikkitas041409
 
PDF
Tuples in Python
DPS Ranipur Haridwar UK
 
PPTX
58. Tuples python ppt that will help you understand concept of tuples
SyedFahad39584
 
PDF
014 TUPLES.pdf
amman23
 
PPTX
Tuplemathspresentationonteupleshhhh.pptx
DeepakThakur612948
 
PPTX
PRESENTATION ON TUPLES.pptx
rohan899711
 
PPTX
Python programming UNIT III-Part-2.0.pptx
Ponnusamy S Pichaimuthu
 
PDF
Python Tuples
Soba Arjun
 
PDF
Tuple in Python class documnet pritened.
SravaniSravani53
 
PDF
Python Is Very most Important for Your Life Time.
SravaniSravani53
 
PPT
Programming in Python Lists and its methods .ppt
Dr. Jasmine Beulah Gnanadurai
 
PPT
TUPLE.ppt
UnknownPerson930271
 
PPTX
Tuples-and-Dictionaries.pptx
AyushTripathi998357
 
PDF
Python Tuple.pdf
T PRIYA
 
PPTX
Tuples in python better understanding with slides
chaudharyaamirm
 
PPTX
Tuples.pptx
AnuragBharti27
 
PPTX
tuple in python is an impotant topic.pptx
urvashipundir04
 
updated_tuple_in_python.pdf
Koteswari Kasireddy
 
Tuples class 11 notes- important notes for tuple lesson
nikkitas041409
 
Tuples in Python
DPS Ranipur Haridwar UK
 
58. Tuples python ppt that will help you understand concept of tuples
SyedFahad39584
 
014 TUPLES.pdf
amman23
 
Tuplemathspresentationonteupleshhhh.pptx
DeepakThakur612948
 
PRESENTATION ON TUPLES.pptx
rohan899711
 
Python programming UNIT III-Part-2.0.pptx
Ponnusamy S Pichaimuthu
 
Python Tuples
Soba Arjun
 
Tuple in Python class documnet pritened.
SravaniSravani53
 
Python Is Very most Important for Your Life Time.
SravaniSravani53
 
Programming in Python Lists and its methods .ppt
Dr. Jasmine Beulah Gnanadurai
 
Tuples-and-Dictionaries.pptx
AyushTripathi998357
 
Python Tuple.pdf
T PRIYA
 
Tuples in python better understanding with slides
chaudharyaamirm
 
Tuples.pptx
AnuragBharti27
 
tuple in python is an impotant topic.pptx
urvashipundir04
 
Ad

More from Krishna Nanda (16)

PDF
Python regular expressions
Krishna Nanda
 
PDF
Python dictionaries
Krishna Nanda
 
PDF
Python lists
Krishna Nanda
 
PDF
Python- strings
Krishna Nanda
 
PDF
Python-files
Krishna Nanda
 
PDF
Computer Communication Networks- Introduction to Transport layer
Krishna Nanda
 
PDF
Computer Communication Networks- TRANSPORT LAYER PROTOCOLS
Krishna Nanda
 
PDF
COMPUTER COMMUNICATION NETWORKS -IPv4
Krishna Nanda
 
PDF
COMPUTER COMMUNICATION NETWORKS-R-Routing protocols 2
Krishna Nanda
 
PDF
Computer Communication Networks-Routing protocols 1
Krishna Nanda
 
PDF
Computer Communication Networks-Wireless LAN
Krishna Nanda
 
PDF
Computer Communication Networks-Network Layer
Krishna Nanda
 
PDF
Lk module3
Krishna Nanda
 
PDF
Lk module4 structures
Krishna Nanda
 
PDF
Lk module4 file
Krishna Nanda
 
PDF
Lk module5 pointers
Krishna Nanda
 
Python regular expressions
Krishna Nanda
 
Python dictionaries
Krishna Nanda
 
Python lists
Krishna Nanda
 
Python- strings
Krishna Nanda
 
Python-files
Krishna Nanda
 
Computer Communication Networks- Introduction to Transport layer
Krishna Nanda
 
Computer Communication Networks- TRANSPORT LAYER PROTOCOLS
Krishna Nanda
 
COMPUTER COMMUNICATION NETWORKS -IPv4
Krishna Nanda
 
COMPUTER COMMUNICATION NETWORKS-R-Routing protocols 2
Krishna Nanda
 
Computer Communication Networks-Routing protocols 1
Krishna Nanda
 
Computer Communication Networks-Wireless LAN
Krishna Nanda
 
Computer Communication Networks-Network Layer
Krishna Nanda
 
Lk module3
Krishna Nanda
 
Lk module4 structures
Krishna Nanda
 
Lk module4 file
Krishna Nanda
 
Lk module5 pointers
Krishna Nanda
 
Ad

Recently uploaded (20)

PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PPT
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 
PDF
IoT - Unit 2 (Internet of Things-Concepts) - PPT.pdf
dipakraut82
 
PPTX
EC3551-Transmission lines Demo class .pptx
Mahalakshmiprasannag
 
PPTX
Destructive Tests corrosion engineer (1).pptx
zeidali3
 
PDF
UNIT-4-FEEDBACK AMPLIFIERS AND OSCILLATORS (1).pdf
Sridhar191373
 
PDF
Statistical Data Analysis Using SPSS Software
shrikrishna kesharwani
 
PPTX
Benefits_^0_Challigi😙🏡💐8fenges[1].pptx
akghostmaker
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PPTX
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
PPTX
MPMC_Module-2 xxxxxxxxxxxxxxxxxxxxx.pptx
ShivanshVaidya5
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PDF
monopile foundation seminar topic for civil engineering students
Ahina5
 
PDF
POWER PLANT ENGINEERING (R17A0326).pdf..
haneefachosa123
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PPTX
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 
IoT - Unit 2 (Internet of Things-Concepts) - PPT.pdf
dipakraut82
 
EC3551-Transmission lines Demo class .pptx
Mahalakshmiprasannag
 
Destructive Tests corrosion engineer (1).pptx
zeidali3
 
UNIT-4-FEEDBACK AMPLIFIERS AND OSCILLATORS (1).pdf
Sridhar191373
 
Statistical Data Analysis Using SPSS Software
shrikrishna kesharwani
 
Benefits_^0_Challigi😙🏡💐8fenges[1].pptx
akghostmaker
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
UNIT DAA PPT cover all topics 2021 regulation
archu26
 
MPMC_Module-2 xxxxxxxxxxxxxxxxxxxxx.pptx
ShivanshVaidya5
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
monopile foundation seminar topic for civil engineering students
Ahina5
 
POWER PLANT ENGINEERING (R17A0326).pdf..
haneefachosa123
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Types of Bearing_Specifications_PPT.pptx
PranjulAgrahariAkash
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 

Python-Tuples

  • 1. PYTHON APPLICATION PROGRAMMING -18EC646 MODULE 3 TUPLES Prof. Krishnananda L Department of ECE Govt SKSJTI Bengaluru
  • 2. INDEX 1. 10.1-Tuples are immutable 2. 10.2-ComparingTuples 3. 10.3-Tuple assignment 4. 10.4-Dictionaries and tuples 5. 10.5-Multiple assignment with dictionaries 6. 10.6-The most common word 7. 10.7-UsingTuples as keys in dictionaries What is python tuples ? 1 How to create python tuple 2 Parentheses in python tuple 3 Tuples are immutable 4 Python tuples for single item 5 Slicing in python tuples 6 Tuples as return values 7 Variable-length arguments 8 Python tuple functions 9 Python tuple methods Iterations on python tuple Dictionaries and python TABLE OF CONTENTS 10 11 12 2
  • 3. WHAT IS PYTHON TUPLES ?  Tuples is a sequence data type which are ordered, indexed and immutable .  A Tuple is a collection of Python objects separated by commas. May or may not be enclosed within parentheses.  Elements of the tuple may be numbers, strings or other data type like Lists  Elements in the tuple can be extracted using square-brackets with the help of indices. Similarly, slicing also can be applied to extract required number of items from tuple  Tuple may contain single element also or we may create an empty tuple  Tuples allow duplicate elements to be present and are indexed  Tuples are comparable and hashable objects. Hence, they can be made as keys in dictionaries 3
  • 4. HOW TO CREATE A PYTHON TUPLE ? • SS Syntactically, a tuple is a list of items separated by commas, inside a parenthesis. Can be assigned to a tuple object. >>> my_group = ('Govindaraju N’,'Akshatha p’,'Vinay’,'Abhishek’) >>> type(my_group) <class 'tuple’> >>> print(my_group) ('Govindaraju N', 'Akshatha p', 'Vinay', 'Abhishek') >>> my_tuple=(1, 2, ‘Krishna’, 45.67) >>>print (my_tuple) (1, 2, 'krishna', 45.67) 4
  • 5. PARENTHESIS REQUIRED IN PYTHON TUPLES ? th Parentheses is not really necessary for python tuples. But, it’s a good practice to use them. This is called tuple packing. Yess…! We get the output without parenthesis. t='a','b','c','d','e' print(t, type(t)) Output: ('a', 'b', 'c', 'd', 'e') <class 'tuple'> t=1,2,3,4,5,6 print(t, type(t)) Output: (1,2,3,4,5,6) <class 'tuple'> 5
  • 6. TUPLES ARE IMMUTABLE • SS We cannot change the elements of a tuple once assigned. Lets try changing a value and check : >>> my_tuple = (1,2,3,[6,5]) #lets try to change the element at index 1 >>> my_tuple[1] = 10 Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> my_tuple[1]=10 TypeError: 'tuple' object does not support item assignment 6
  • 7. • SS Ooh!... we failed to get our desired output Now how about changing an element from the list contained in a tuple ? Yess…! It worked without a flaw. So we came to know that while tuples are immutable, a mutable item that it holds may be reassigned. >>> my_tuple = (1,2,3,[6,5]) >>> my_tuple[3][0] = 10 >>> print (my_tuple) (1, 2, 3, [10, 5]) 7
  • 8. CREATING TUPLES FOR SINGLE ITEM >>>my_college=("SKSJTI") >>> print(my_college) SKSJTI We have got our expected output lets check its type…. >>> type(my_college) <class ‘str’> What…! we got string,we have not missed parentheses right then why not tuple? >>>num=(1) >>> type(num) <class ‘int’> A single value inside a parentheses is not a tuple >>> x=(3) >>> print (x) 3 ## not a tuple but an integer >>> type(x) <class 'int'> >>> x=(3,) >>> print (x) (3,) >>> type (x) <class 'tuple'> 8
  • 9. Now lets alter the same program and check the output: Now lets check its type: >>>my_college2=(“SKSJTI”,) >>> print(my_college2) ('SKSJTI',) Youcan notice some changesin the code and outputofthe print statementcomparedto previousone >>> type(my_college2) <class ‘tuple’> Yes..! we got it as tuple Final comma CONCLUSION : To create a tuple with single element,you have to include the final comma; otherwise python will not recognize the object as tuple. 9
  • 10. • >>> min(t1) • 'hello' • >>> min(t) • 'd' Simple Operations with Tuples Comparing tuples: • Tuples can be compared using operatorslike >, == etc. • When we need to check equality among two tuple objects, the first item in first tuple is compared with first item in second tuple. If they are same, next items are compared. The check continues till either a mismatch is found or items get over. • Ex >>> (1,2,3)>(1,2,5) False >>> (3,4)==(3,4) True >>> ('hi','hello') > ('Hi','hello') True >>>(1,2)<('h','k') Traceback (most recent call last): File "<pyshell#41>", line 1, in <module> (1,2)<('h', 'k') TypeError: '<' not supported between instances of 'int' and 'str' >>> t='Mango', 'Banana', 'Apple’ #without parentheses >>> print(t) ('Mango', 'Banana', 'Apple’) >>> t1=('Tom', 341, 'Jerry’) #with parentheses >>> print(t1) ('Tom', 341, 'Jerry’) Note: Tuple is an ordered (sequence) data type. Its elements can be accessed using positional index 10
  • 11. • >>> t=(1,3,4,5, 5,6,7) • >>> print (t) • (1, 3,4,5,5, 6,7) • >>> t.count(5) • 2 • >>> print (t[3]) • 5 • >>> print (t[4]) • 5 Simple Operations with Tuples ## create a new tuple using existing tuples (similar to string concatenation) >>> t1=('C', 'Python') >>> t2=('matlab',) >>> t=t1+t2 >>> print (t) ('C', 'Python', 'matlab') ## strings vs tuples t=("hello" "world") >>> print (t) helloworld >>> type (t) <class 'str'> >>> t1=("hello", "world") >>> print (t1) ('hello', 'world') >>> type (t1) <class 'tuple'> >>>print (t[0]) h >>> print (t1[0]) hello >>>print (t[1]) e >>>print (t1[1]) World >>>print (t[2]) l >>>print (t1[2]) Traceback (most recent call last): File "<pyshell#79>", line 1, in <module> print (t1[2]) IndexError: tuple index out of range >>>max(t1) 'world' >>> max(t) 'w' >>> min(t1) 'hello' >>> min(t) 'd' >>> t=(1, 3, 4, 5, 5, 6, 7) >>> print (t) (1, 3, 4, 5, 5, 6, 7) ## supports duplicate elements >>> print (t[3]) 5 >>> print (t[4]) 5 ### different ways to define tuples >>>tup1 = ('python’, ‘java', 2021, 98.6) >>>tup2 = (1, 2, 3, 4, 5 ) >>>tup3 = "a", "b", "c", "d" 11
  • 12. Slicing in Tuples If you want to access a range of items in a tuple or you want a part(slice) of a tuple, use slicing operator [ ] and colon : >>> #positive indexing >>> percentage = (90,91,92,93,94,95) #Slicing >>> percentage[2:4] (92, 93) >>> percentage[ :4] (90, 91, 92, 93) >>> percentage[4: ] (94, 95) >>> percentage[2:2] () >>> #Negative indexing >>> percentage[ : − 2] (90, 91, 92, 93) >>> percentage[− 2: ] (94, 95) >>> percentage[2: − 2] (92, 93) >>> percentage[− 2:2] () >>> percentage[ : ] #Prints whole tuple (90, 91, 92, 93, 94, 95) >>> t=('Mango', 'Banana', 'Apple’) >>> print(t[1]) Banana >>> print(t[1:]) ## slicing ('Banana', 'Apple’) >>> print(t[-1]) Apple ## slicing with negative index 12
  • 13. TUPLE ASSIGNMENT Tuple assignment feature allows a tuple of variables on the left side of an assignment to get the values on the right side. >>> a,b,c,d=‘apple’,‘mango’,‘grapes’,‘orange’ >>> print(a) apple #output >>> a,b,c,d=1,2,3,4 >>> print(c) 3 #output >>> a,b,c,d=1,2,3 ValueError: not enough values to unpack (expected 4, got 3) The number of variables on the left and the number of values on the right have to be same >>> email = ‘[email protected]’ >>> uname, domain = email.split('@’) >>> print(uname ,‘n’, domain) monty python.org The return value from split is a list with two elements; the first element is assigned to uname, the second to domain. 13
  • 14. TUPLE ASSIGNMENT ###When we have list of items, they can be extracted and stored into multiple variables >>>t1=("hello", "world") >>> x, y=t1 >>> print (x) hello >>> print (y) world ## x and y got the values As per the index The best known example of assignment of tuples is swapping two values (a,b)=(10,20) >>> print (a,b) 10 20 >>> a,b=b,a >>> print (a,b) 20 10 ### the statement a, b = b, a is treated by Python as – LHS is a set of variables, and RHS is set of expressions. The expressions in RHS are evaluated and assigned to respective variables at LHS >>>(a,b)=(10,20,30) Traceback (most recent call last): File "<pyshell#88>", line 1, in <module> (a,b)=(10,20,30) ValueError: too many values to unpack (expected 2) Note: While doing assignment of multiple variables, the RHS can be any type of data like list, string, tuple, int etc. >>> (a,b)=(20,'krishna') >>> print (a,b) 20 krishna 14
  • 15. Tuples As Return Values of a function a=(12,34,55) >>> min(a) 12 >>> min(a),max(a) (12,55) A function can only return one value, but if the value is a tuple, the effect is same as returning multiple values. >>> t = divmod(7,3) ‘‘‘ Built in function divmod takes two arguments and returns two vales: quotient and remainder’’’ >>> t #output (2,1) >>> quot , rem = divmod(7,3) >>> quot #output 2 >>> rem 1 t=(1,2,3,4) def min_max(t): return min(t),max(t) print(min_max(t)) #max and min are built-in function returns largest and smallest number #output (1, 4) a=(12,34,55) >>> min(a) 12 >>> min(a), max(a) (12, 55) 15
  • 16. VARIABLE-LENGTH ARGUMENT TUPLES Functions can take a variable number of arguments. A parameter name that begins with * gathers (makes) arguments into a tuple. Example : printall takes any number of arguments: >>> def printall(*args): print(args) ….. >>> printall(1,2.0,'3') (1, 2.0, '3') The * gather parameter can have any name you like, but args is conventional. >>>def printall(*args): print (args) >>> printall (1,(4,5), 'krishna') (1, (4, 5), 'krishna') 16
  • 17. • SS The complement of gather is scatter. If you have a sequence of values and you want to pass it toa function as multiple arguments, you can use * operator. Example: divmod takes exactly two arguments; it doesn’t work with tuple. >>> t=(7,3) >>> divmod(t) TypeError: divmod expected 2arguments, got 1 >>> divmod(*t) (2,1) But if you scatter the tuple it works: Many built-in functions use variable length parameters except sum(). >>> max(1,2,3) 3 >>> sum(1,2,3) TypeError: sum() takes at most 2 arguments (3 given) 17
  • 19. 1. len() Like a list, a python tuple is of a certain length. The len() function returns the number of elements in the tuple. >>>t=(1,'mango',2,'apple',3,'grapes') >>> len(t) 6 >>>t1=(23, 45.67, 'krishna',[5,6]) >>>len(my_tuple) 4 2.max() It returns the item from the tuple which is having a highest value. >>> max(34.56, 78.34, 100.45) 100.45 >>>max(34.56,78.34,100.45, 200) 200 19
  • 20. >>> no_s=(1,2,3,4,5,6) >>> max(no_s) 6 >>> x=(1,2,3,4,[5,6]) >>> max(x) Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> max(x) TypeError: '>' not supported between instances of 'list' and 'int' >>> y=( ‘Hi’, ‘hi’, ‘Hello’) >>> max(y) ‘hi’ >>> a=('hi',9) >>> max(a) Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> max(a) TypeError: '>' not supported between instances of 'int' and 'str' Youcant compare int and list Youcant compare int and string 20
  • 21. 3.min() Like the max() function, the min() returns the item with lowest values. >>> no_s=(10,20,30,40,50,60) >>> min(no_s) 10 >>> x=('hi','Hi','Hello') >>> min(x) 'Hello' 4.sum() This function returns the arithmetic sum of all the items in the tuple. >>> no_s=(1,2,3,4,5,6) >>> sum(no_s) 21 >>> x=('1','2','3','4') >>> sum(x) Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> sum(x) TypeError: unsupported operand type(s) for +: 'int' and 'str' Youcan’t apply this function on a tuple with strings. >>> min(34.56, 78.34, 100.45, 200) 34.56 >>>sum(34.56,78.34,100.45,200) Traceback(mostrecentcall last): File "<pyshell#131>",line1, in <module> sum(34.56,78.34,100.45,200) TypeError:sum()takesat most 2 arguments(4given) >>>sum("krishna","hello") Traceback(mostrecentcall last): File "<pyshell#135>",line1, in <module> sum ("krishna","hello") TypeError:sum()can't sum strings[use ''.join(seq)instead] 21
  • 22. 5.any() Python any() function returns true if any of the item in tuple is true else it returns false. The any() function returns false if the passed tuple is empty. # all elements are true >>>t=(1,"Begginers",22) >>>print(any(t)) True >>>t=(1,2,3,4) >>>print(any(t)) True #emptytuple >>> t=() >>> print(any(t)) False #all elementsare false >>> t2=(0,False,0) >>> print(any(t2)) False 22
  • 23. 6. all() Python all() function returns true if all the item in tuple is true else it returns false. The all() function returns true if the passed tuple is empty. The 0(zero) values are considered as false and non zero values such as 1,2,30…etc are considered true >>> t=(0,1,0,3) >>> print(all(t)) False >>> t=('abc',1,2,3) >>> print(all(t)) True >>> t=('abc',False,2,3) >>> print(all(t)) False >>> t=(True,0,False) >>> print(all(t)) False >>> t=() ## empty tuple >>> print (all(t)) True >>> t=(23, 1, 6) >>> print (all(t)) True >>> t=(0,0,0) >>> print (all(t)) False >>> t=(0,2,4) >>> print (all(t)) False 23
  • 24. 7. sorted() This function returns a sorted version of the tuple. The sorting is in ascending order, but you can specify ascending or descending and it doesn’t modify the original tuple in python. >>> a=(3,4,5,1,2,6) >>> sorted(a) # output [1, 2, 3, 4, 5, 6] a=('h','b','a','d','c','e','g','f') y=sorted(a) print(y) #output ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] #descending order a=('h','b','a','d','c','e','g','f') y=sorted(a, reverse=True) print(tuple (y)) #output ('h', 'g', 'f', 'e', 'd', 'c', 'b', 'a') >>> a=(45, 636, 23, 35.33, 89.34) >>> sorted(a) [23, 35.33, 45, 89.34, 636] >>> print (sorted(a)) [23, 35.33, 45, 89.34, 636] >>> print (sorted(a, reverse=True)) [636, 89.34, 45, 35.33, 23] 24
  • 25. 8. tuple() This function converts another construct into a python tuple. list1=[1,2,3,4] y=tuple(list1) print(y) #output (1, 2, 3, 4) str=“GovtSKSJTI" y=tuple(str) print(y) #output ('G', 'o', 'v', ‘t', ‘S', ‘K', ‘S', ‘J, ‘T', ‘I') set1={2,1,3} y=tuple(set1) print(y) #output {1, 2, 3} We declared set as 2,1,3 it automatically reordered itself to 1,2,3.Furthermore, creating python tuple form it returned the new tuple in the new order, that is ascending order 25
  • 26. PYTHON TUPLE METHODS  A method is a sequence of instructions to perform some task.  We call a method using the dot operator in python.  Python has two built-in methods to use with tuples 1. index() This method takes one argument and returns the index of the first appearance of an item in a tuple. >>> a=(1,2,3,2,4,5,2) >>> a.index(2) #output 1 >>> a.index(3) 2 As you can see, we have 2’s at positions 1, 3 and 6. But it returns only first index count() Returns the number of times a specified value occurs in a tuple index() Searches the tuple for a specified value and returns the position of first appearance of that element 26
  • 27. 2. count() This method takes one argument and returns the number of times an item appears in the tuple. >>> a=(1,2,3,2,4,5,2) >>> a.count(2) #output 3 As you can see, 2 is repeated three times the output is 3 >>> t=(1,3,'a','a','a','krishna',3,5) >>> print (t) (1, 3, 'a', 'a', 'a', 'krishna', 3, 5) >>> t.index('a') 2 >>> t.count('a') 3 >>> t.count(3) 2 >>>t.index('krishna') 5 27
  • 28. Note: You can't add elements to a tuple because of their immutable property. There's no append() or extend() method for tuples Note: We cant remove or replace individual elements from the tuple 28
  • 29. PYTHON TUPLE OPERATIONS 1.Membership We can apply the ‘in’ and ‘not in’ operators on items. This tells us whether they belong to the tuple. t1=(1,2,3,4,5) t2=(6,7,8,9) for item in list1: if item in list2: print('overlapping') else: print('not overlapping’) #output not overlapping >>> t=(1,3,'a','krishna',5) >>> print (t) (1, 3, 'a', 'krishna', 5) >>> 3 in t True >>> 'a' in t True >>> 2 in t False 29
  • 30. 2. Concatenation Concatenation is the act of joining. We can join two tuples using the concatenation operator ‘+’. x=(1,2,3) y=(4,5,6) z=x + y print(z) #output (1, 2, 3, 4, 5, 6) x=(1,2,3) y=(‘Bengaluru’,) z=x + y print(z) #output (1, 2, 3, ‘Bengaluru') 3. Relational All Relational operators (like >,>=,…) can be applied on a tuple. >>> (1,2,3) > (4,5,6) False >>> (1,2)==(‘1’,‘2’) False int 1 and 2 aren’t equal to the strings ‘1’ and ‘2’ so it returned. Tuples are comparable. >>> x=('java',‘ python') >>> y=('C', 'C++', 'Ruby') >>> print (x+y) ('java', 'python', 'C', 'C++', 'Ruby') 30
  • 31. 4. Identity() • Identity operators are used to determine whether a value is of a certain class or type. • They are usually used to determine the type of data a certain variable contains. • There are two identity operators: ‘is’ and ‘is not’ x=(1,2,3,4,5) if ( type(x) is tuple): print(‘true') else: print(‘false’) #output true x=(1,2,3,4,5) if ( type(x) is not list): print(‘true') else: print(‘false’) #output true >>> x=(1,2,3,4,5) >>> (1,2,3,4,5) is x #output false 31
  • 32.  The Python is and is not operators compare the identity of two objects.  Everything in Python is an object, and each object is stored at a specific memory location. The Python is and is not operators check whether two variables refer to the same object in memory.  'is' operator – Evaluates to true if the variables on either side of the operator point to the same object and false  'is not' operator – Evaluates to false if the variables on either side of the operator point to the same object and true otherwise.  They are used to check if two values (or variables) are located on the same part of the memory. Two variables that are equal does not imply that they are identical. b=(4,5,6) >>> y=('C', 'C++', 'Ruby') >>> b is y False >>> b is not y True >>> a=(1,2,3) >>> id(a) 1956981818624 >>> b=(1,2,3) >>> id(b) 1956981816768 >>> a is b False >>> a==b True ## deleting a tuple >>> y=('C', 'C++', 'Ruby') >>> print (y) ('C', 'C++', 'Ruby') >>> id (y) 1956981813440 >>> del y >>> print (y) Traceback (most recent call last): File "<pyshell#218>", line 1, in <module> print (y) NameError: name 'y' is not defined 32
  • 33. We can iterate on a python tuple using a for loop ,its similar as we iterate on a list for i in (1,2,3): print(i) #output 1 2 3 s='abc' t=(1,2,3) for pair in zip(s,t): print(pair) #output ('a', 1) ('b', 2) ('c', 3) zip is a built in function that takes two or more sequences and returns a list of tuples where each tuple contains one element from each sequence. Here 'abc' is a string and (1,2,3) is a tuple #You can use zip object to make a list >>> list(zip(s, t)) [('a', 0), ('b', 1), ('c', 2)] Iterating on Python tuples >>> list(zip('Anne', 'Elk’)) #Sequence lengths are not same [('A', 'E'), ('n','l'), ('n', 'k')] 33
  • 34. t = [('a', 0), ('b', 1), ('c', 2)] for letter, number in t: print(number, letter) #output 0 a 1 b 2 c Each timethrough the loop, Python selects the next tuple in the list and assigns the elementsto letterand number. Let us try to get the output of the elements of a sequence with their indices . Using built in function enumerate: for index, element in enumerate('abc'): print(index, element) #output 0 a 1 b 2 c 34
  • 35. DICTIONARIES AND TUPLES Dictionaries have a method called items that returns a sequence of tuples, where each tuple is a key value pair: >>> d={'a':0, 'b':1, 'c':2 } >>> t=d.items() >>> t dict_items([('a',0), ('b', 1), ('c', 2)]) The result is a dict_items object , which is an iterator that iterates the key value pairs. You can use it is a for loop like this: >>> for key,value in d.items(): … print(key,value) … a 0 b 1 c 2 35
  • 36. You can also use a list of tuples to initialize a new dictionary: >>> t= [('a', 0), ('b', 1), ('c', 2)] >>> d= dict(t) >>> d {'a':0, 'b':1, 'c':2 } Combining dict with zip yields a concise way to create a dictionary. >>> d= dict(zip(‘abc’,range(3))) >>> d {'a':0,'c’:2,'b':1} 36