Jun 22, 2018

Learning Tuples in Python

#!/usr/local/bin/python2.7

'''
#Learning Tuples
    File name: tuple_all_operations.py
    Author: Prabhath Kota
    Date: June 22, 2018
    Python Version: 2.7
'''

'''
Tuples are immutable,means not changable
Tuples have no append or extend method.
Elements in Tuples cannot be removed from a tuple.
You can only find elements in a tuple, since this doesn not change the tuple.
You can also use the in operator to check if an element exists in the tuple.
Tuples are faster than lists. If you have a constant set of values, use a tuple instead of a list.
It makes your code safer if you 'write-protect' data that does not need to be changed.
'''

freedom_fighters = ("Lala Lajipati Rai", "Dadabhai Naoroji", "Rajendra Prasad", "Sarojini Naidu", "Dadabhai Naoroji", "Lal Bahadur Shastri")
print freedom_fighters
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')

print '---------------index---------------'
print freedom_fighters[0]
print freedom_fighters[-1]
print freedom_fighters[2:]
print freedom_fighters[:-1]
print freedom_fighters[2:4]

#Lala Lajipati Rai
#Lal Bahadur Shastri
#('Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji')
#('Rajendra Prasad', 'Sarojini Naidu')

print '---------------copy---------------'
print freedom_fighters
freedom_fighters_1 = freedom_fighters
freedom_fighters_1 += ("Bhagat Singh",)
print freedom_fighters
print freedom_fighters_1

#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri', 'Bhagat Singh')

print '---------------List Comprehension ---------------'
print [i + ' India saluets you' for i in freedom_fighters]
genrator_obj = (i + ' India saluets you' for i in freedom_fighters)
print genrator_obj
for each in genrator_obj:
print each

#['Lala Lajipati Rai India saluets you', 'Dadabhai Naoroji India saluets you', 'Rajendra Prasad India saluets you', 'Sarojini Naidu India saluets you', 'Dadabhai Naoroji India saluets you', 'Lal Bahadur Shastri India saluets you']
#<generator object <genexpr> at 0x0000000001DC41B0>
#Lala Lajipati Rai India saluets you
#Dadabhai Naoroji India saluets you
#Rajendra Prasad India saluets you
#Sarojini Naidu India saluets you
#Dadabhai Naoroji India saluets you
#Lal Bahadur Shastri India saluets you

print '---------------multiply---------------'
freedom_fighters2 = freedom_fighters * 2
print freedom_fighters2
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri', 'Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')

print '---------------check if item exits---------------'
print freedom_fighters
print 'Bhagat Singh' in freedom_fighters
print 'Sarojini Naidu' in freedom_fighters

#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#False
#True

print '---------------Remove Duplicates---------------'
freedom_fighters3 = freedom_fighters * 2
print freedom_fighters3
#print set(freedom_fighters3)
freedom_fighters_no_dup =[]
[freedom_fighters_no_dup.append(x) for x in freedom_fighters if x not in freedom_fighters_no_dup]
print tuple(freedom_fighters_no_dup)
print tuple(set(freedom_fighters3)) #set - unordered collection data type, this kills the original order

#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri', 'Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Lal Bahadur Shastri')
#('Rajendra Prasad', 'Sarojini Naidu', 'Lala Lajipati Rai', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')


print '---------------Convert to list---------------'
print freedom_fighters
print list(freedom_fighters)
print tuple(list(freedom_fighters))

#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#['Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri']
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')

print '---------------length of array---------------'
print freedom_fighters
print len(freedom_fighters)

#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#6

print '---------------Default multile values assingn---------------'
#Python Default assigns to tuple
freedom_fighters_2 = 'Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Lala Lajipati Rai'
print freedom_fighters_2
print type(freedom_fighters_2)

#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Lala Lajipati Rai')
#<type 'tuple'>

print '---------------Default multile values assingn---------------'
print freedom_fighters
print freedom_fighters.count('Lala Lajipati Rai')
freedom_fighters += ('Lala Lajipati Rai',)
print freedom_fighters.index('Sarojini Naidu')
print freedom_fighters
print freedom_fighters.count('Lala Lajipati Rai')

#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri')
#1
#3
#('Lala Lajipati Rai', 'Dadabhai Naoroji', 'Rajendra Prasad', 'Sarojini Naidu', 'Dadabhai Naoroji', 'Lal Bahadur Shastri', 'Lala Lajipati Rai')
#2




No comments:

Post a Comment