Tuple
Tuple is similar to a list.The difference between the two is that we
cannot change the element of a tuple once it is assigned.But List element can
be changable.
Advantage
of 'Tuple' over 'List':
* Tuple is hetrogeneous(different data type).But List homogeneous(similar
data type).
*Tuple are immutable .Tuple is faster than the list.So there is a slight
performance boost.
*If you have data that doesn't change, implementing it as tuple will
guarantee that it remains write - protected.
Creating a tuple
>>>tup1=()
>>>tup1=(3,5,7,9)
>>>tup1
(3,5,7,9)
>>>tup1=(1,2.5,"hello",10,3+2j)
>>>tup1
(1,2.5,"hello",10,3+2j)
>>>tup1[4]
(3+2j)
#If you can see tuple index only you can use [] square bracket, Not
use tuple () bracket
>>>tup1(2)
traceback (most recent call last):
file"<pysell#73>",line 1,in <module>
tup1(2)
type error:'tuple' object is not callable
>>>tup1[2]
'hello'
>>tup1[2][1]
'e'
>>>tup1=("hello",(2,4,6),("one","two","three"))
>>>tup1
('hello',(2,4,6),('one','two','three'))
>>>tup1[2][1]
'two'
#Wrong assignment
>>>tup1=103,GST,CHENNAI
traceback (most recent
call last):
file"<pyshell#79>",line
1,in<module>
tup1=103,GST,CHENNAI
NameError : name 'GST' is not defined
#tuple can be created without () - Tuple packing
>>> tup1=103,'GST','CHENNAI'
>>>tup1
(103,'GST','CHENNAI')
#Tuple packing and Unpacking
>>>x,y,z=tup1
>>>x
103
>>>y
'GST'
>>>z
'CHENNAI'
#It create string instead of tuple it will show in type string not show
tuple
>>>tup1=("hello")
>>>type(tup1)
<class 'str'>
>>>tup1=tup("hai")
>>>tup1
('h','a','i')
>>>tup1=("hai")
>>>tup1
('hai')
>>>type(tup1)
<class 'tuple'>
>>>tup1="hai"
>>>tup1
'hai'
>>>type(tup1)
<class 'str'>
>>>tup1="hai"
>>>type(tup1)
<class 'tuple'>
>>>
Accessing elements in a tuple
1.index
>>>tup1=("PYTHON PROGRAM")
>>>tup1
('PYTHON PROGRAM')
>>>type(tup1)
<class 'tuple'>
>>>print(tup1[4])
traceback (most recent call last)
file"<pyshell#150>",line
1,in <module>
>>>print(tup1[0])
PYTHON PROGRAM
>>>tup1=('P','Y','T','H','O','N')
>>>tup1
('P','Y','T','H','O','N')
>>>print(tup1[4])
O
>>>print(tup1[0])
P
>>>print(tup1[7])
traceback (most recent call last)
file"<pyshell#156>",line
1,in <module>
print(tup1[7])
index error:tuple index out of range
#Nested Tuple with 3X3 Matrix
>>>a=((1,2,3),(4,5,6),(7,8,9))
>>>print(a)
((1,2,3),(4,5,6),(7,8,9))
>>>print(a[1][1])
5
>>>print(a[2][2])
9
>>>
2.Negative index
>>>tup1=('P','Y','T','H','O','N')
>>>tup1
('P','Y','T','H','O','N')
>>>tup1[-1]
'N'
>>>tup1[-5]
'Y'
>>>tup1[-6]
'P'
>>>
3.Slicing
> > > tup1 = ('P','Y','T','H','O','N')
> > > tup1[2:2]
()
> > > tup1[2:3]
('T')
> > > tup1[3:5] #only 3rd
and 4th
('H', 'O')
> > > tup1[2:] #from
2nd to end
('T', 'H', 'O', 'N')
> > > tup1[:3] #Begining to 3rd
element
('P','Y','T')
> > > tup1[:-2] #last
2nd position to first element
('P','Y','T','H')
> > > tup1[-3:] #from 3rd
element to last element
('H', 'O', 'N')
> > > tup1[:] #only : shows all
elements
('P', 'Y', 'T', 'H', 'O', 'N')
> > >
Changing a Tuple
Tuple cannot be changed once it has been assigned.
#if you try to change the values in tuple it comes
error
> > > tup1 = (10,'semester-1',(56,67,89))
> > > tup1[0] = 100
Trackback ( most recent call last)
file
" <pyshell#221 >", line 1, in <module>
tup1[0] =
100
TypeError: 'tuple' object dose no
support item assignment
#Tuple can be reassigned by again variable declaration
> > > tup1 = (100,'semester-1', (89,90,93))
#mutable element in the tuple can be changed
> > > tup1 = (100,'semester-1', [89,90,93])
> > >tup1[2][0] =99
> > > print(tup1)
(100,'semester-1',[99,90,93])
> > >
Tuple concatenation Operator (+)
> > > tup1 = (30,40,50)
> > > tup2 = (10,15,6)
> > > print (tup1 + tup2)
(30, 40, 50, 10, 15, 6)
> > > tup3 =tup1 + tup2
> > > tup3
(30, 40, 50, 10, 15, 6)
* Operator
> > > tup1 = (20 * 5)
> > > tup1
100
> > > tup 1 = ("hai"*5)
> > > tup 1
haihaihaihaihai
> > >
Deleting a Tuple
We cannot change the element in a tuple.We cannot
delete or remove items from a tuple.
But deleting a entirely is possible using the
keyword del.
> > > tup1 = ('P', 'Y', 'T', 'H', 'O', 'N')
> > > del tup1[2]
Trackback (most recent call
last )
file
"<pyshell#256>", line 1, in <module>
del
tup 1[2]
NameError: name 'tup 1' is not defined
> > >
Python Tuple Method
Method |
Description |
count (x) |
Return the number of items that is equal to x |
index(x) |
Return index of first item that is equal to x |
> > > tup1 = ('H','A','I','C','O','M','P','U','T','E','R')
> > >
print(tup1.count('C'))
1
> > > print(tup1.index('M'))
5
> > >
> > > tup1 =
('P','R','O','G','R','A','M','T','E','C','H','I','E')
> > > print('C' in tup1)
True
> > > print ('X' in tup1)
False
> > >print ('X' not in tup1)
True
Other Tuple Operation
1.Tuple
Membership Test
> > >tup1 = ('p','y','t','h','o','n')
> > >print('o' in tup1)
True
> > > print('b' intup 1)
False
> > > print ('g' not in tup1)
True
2.lterating
Through a Tuple
#example for access each element in a tuple
for name in ('Ram','kumar'):
print("hello",name)
OUTPUT
Hello Ram
hello kumar
Built-in function with Tuple
all() |
Return true if all elements of
the list are true (or if the list is empty) |
any() |
Return true if any
elements of the list is true.if the list is empty,return false |
enumerate() |
Return an enumerate object.it
contains the index and value of all the items of list as a tuple |
len() |
Return the length(the number of
items)in the list |
list() |
Convert an iterable
(tuple,string,set,dictionary)to a list |
max() |
Return the largest item in the
list |
min() |
Return the smallest item in the
list |
sorted() |
Return a new sorted list(does
not sort the list itself) |
sum() |
Return the sum of all elements
in the list |
tuple |
Convert an iterable (list,
string, set, dictionary) to a tuple. |
creation , Repetition, concatenation
> > > t = (['xyz' 123],23, -103.4)
> > > t
(['xyz' 123],23, -103.4)
> > > t * 2
(['xyz' 123],23, -103.4 , ['xyz'
123],23, -103.4)
> > > t = t + ('free','easy')
> > > t
(['xyz' 123],23, -103.4 ,
'free','easy')
Membership, slicing
> > > 23 in t
1
> > > 123 in t
0
> > > t[0][1]
123
> > > t[1:]
(23,-103.4,'free','easy')
Built - in Function
> > > str(t)
['xyz' 123],23, -103.4 'free','easy')
> > > len(t)
5
> > > max(t)
'free'
> > > min(t)
-103.4
> > >cmp(t, (['xyz' 123],23, -103.4, 'free','easy')
0
> > > list(t)
[['xyz' 123],23, -103.4, 'free','easy']
Operators
> > > (4, 2) < (3,
5)
0
> > > (2, 4) < (3, -1)
1
> > > (2, 4) == (3, -1)
0
> > > (2, 4) == (2,
4)
1
Array
- Efficient arrays of numeric values
from array import *
my_array = array('i',[1,2,3,4,5])
for i in my_array:
print(i)
OUTPUT
1
2
3
4
5
> > > my_array[1]
2
> > > my_array[2]
3
> > > my_array[0]
1
> > >my_array.append(6)
> > > my_array
array('i', [1, 2, 3, 4, 5, 6])
> > > my_array.insert(0,0)
> > > my_array
array('i', [0, 1, 2, 3, 4, 5, 6])
> > > my_extnd_array = array ('i', [7,8,9,10])
> > >my_array.extnd(my_extnd_array)
> > >my_array
array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10])
> > > c = [11, 12, 13]
> > >my_array.fromlist(c)
> > >my_array
array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13])
> > >my_array.remove(13)
> > >my_array
array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12])
> > >my_array.pop()
12
> > >my_array
array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11])
> > >my_array.index(5)
5
> > > my_array.reverse()
> > >my_array
array('i', [11, 10, 9, 8, 7, 6, 5, 4,
3, 2, 1, 0])
> > > my_array.buffer_info()
(33881712,12)
> > >my_array.count(11)
1
> > > my_char_array = array('c',['a','e','i','o','u'])
> > > my_char_array
array('c','aeiou')
> > > my_char_array.tostring()
'aeiou'
> > > c = my_array.tolist()
>>>c
[11,10,9,8,7,6,5,4,3,2,1,0]
0 comments:
Post a Comment