Dealing with String Processing
String is a collection of alpha numeric and special characters. String is immutable as insert, delete and update operations can not
be carried out on a given string.
# string indexing and slicing index from left to right -> 0 1 2 3 4 5 6 7 8 9 mystr -> u n i v e r s i t y index from right to left -> -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
In [ ]: mystr = "university"
print (mystr, len(mystr), type(mystr), id(mystr))
print (mystr[6], mystr[-4], mystr[8], mystr[-2], mystr[9], mystr[-1]) # indexing
print (mystr[1:6], mystr[-9:-4], mystr[1:-4], mystr[-9:6]) # slicing
print (mystr[0:6], mystr[:6], mystr[-10:-4], mystr[:-4])
print (mystr[6:], mystr[-4:])
print (mystr[3:6], mystr[-7:-4], mystr[3:-4], mystr[-7:6])
print (mystr[0::2], mystr[1::2], mystr[::-1])
In [62]: mystr = "tEChno iNDia uNIveRSiTy"
print (mystr, len(mystr), type(mystr), id(mystr))
print ([Link]())
print ([Link]())
print ([Link]())
print ([Link]())
print ([Link]())
print([Link](5))
tEChno iNDia uNIveRSiTy 23 <class 'str'> 2245788663040
TECHNO INDIA UNIVERSITY
techno india university
TecHNO IndIA UniVErsItY
Techno india university
Techno India University
tEChno iNDia uNIveRSiTy
In [69]: mystr = "abcd"
print (mystr, [Link](), [Link](), [Link]())
mystr = "1234"
print (mystr, [Link](), [Link](), [Link]())
mystr = "1234abcd"
print (mystr, [Link](), [Link](), [Link]())
mystr = "abcd@1234"
print (mystr, [Link](), [Link](), [Link]())
abcd True True False
1234 False True True
1234abcd False True False
abcd@1234 False False False
In [78]: mystr = "charity begins at home"
print (mystr, len(mystr), type(mystr), id(mystr))
print ([Link]("charity"))
print ([Link]("begi"), [Link]("begi", 8), [Link]("begi", 8, 20), [Link]
print ([Link]("home"), [Link]("at"), [Link]("at", 0, 17), [Link]("at", 15, 17))
charity begins at home 22 <class 'str'> 2245788662720
True
False True True False
True False True True
In [81]: mystr = "charity begins at home"
print (mystr, len(mystr), type(mystr), id(mystr))
print ([Link]("begins"))
print ([Link]("at"))
print ([Link]("school"))
charity begins at home 22 <class 'str'> 2245795528992
8
15
-1
In [84]: mystr = "charity begins at home"
print (mystr, len(mystr), type(mystr), id(mystr))
print ([Link]("begins"))
print ([Link]("at"))
print ([Link]("school"))
charity begins at home 22 <class 'str'> 2245788663200
8
15
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_23744\[Link] in <module>
3 print ([Link]("begins"))
4 print ([Link]("at"))
----> 5 print ([Link]("school"))
ValueError: substring not found
In [85]: mystr = "charity begins at home"
print (mystr, len(mystr), type(mystr), id(mystr))
try:
print ([Link]("begins"))
print ([Link]("at"))
print ([Link]("school"))
except ValueError as ve:
print ("Unsuccessful searching has taken place...!!!")
print ("Error message:", ve)
charity begins at home 22 <class 'str'> 2245795530032
8
15
Unsuccessful searching has taken place...!!!
Error message: substring not found
In [87]: mystr = "mississippi"
print (mystr, len(mystr), type(mystr), id(mystr))
print ([Link]("i"), [Link]("p"))
mississippi 11 <class 'str'> 2245787564656
4 2
In [89]: mystr = "good morning"
print (mystr, len(mystr), type(mystr), id(mystr))
mystr = [Link]("morning", "night")
print (mystr, len(mystr), type(mystr), id(mystr))
good morning 12 <class 'str'> 2245787961840
good night 10 <class 'str'> 2245787632816
In [92]: mystr = " good morning "
print (mystr, len(mystr), type(mystr), id(mystr))
result = [Link]()
print (result, len(result))
result = [Link]()
print (result, len(result))
result = [Link]()
print (result, len(result))
good morning 22 <class 'str'> 2245786606368
good morning 15
good morning 18
good morning 19
In [95]: mystr = "#@@#good#@##morning@#@"
print (mystr, len(mystr), type(mystr), id(mystr))
result = [Link]("#@")
print (result, len(result))
result = [Link]("@#")
print (result, len(result))
result = [Link]("#@")
print (result, len(result))
#@@#good#@##morning@#@ 22 <class 'str'> 2245720335424
good#@##morning 15
good#@##morning@#@ 18
#@@#good#@##morning 19
In [97]: mystr = "charity begins at home"
print (mystr, len(mystr), type(mystr), id(mystr))
result = [Link]()
print (result, type(result))
result = [Link]("i")
print (result, type(result))
result = [Link]("x")
print (result, type(result))
charity begins at home 22 <class 'str'> 2245795531472
['charity', 'begins', 'at', 'home'] <class 'list'>
['char', 'ty beg', 'ns at home'] <class 'list'>
['charity begins at home'] <class 'list'>
In [99]: list1 = ['charity', 'begins', 'at', 'home']
print (list1, len(list1), type(list1), id(list1))
mystr = " ".join(list1)
print (mystr, len(mystr), type(mystr), id(mystr))
mystr = ", ".join(list1)
print (mystr, len(mystr), type(mystr), id(mystr))
mystr = " - ".join(list1)
print (mystr, len(mystr), type(mystr), id(mystr))
['charity', 'begins', 'at', 'home'] 4 <class 'list'> 2245787855040
charity begins at home 22 <class 'str'> 2245790388272
charity, begins, at, home 25 <class 'str'> 2245788009056
charity - begins - at - home 28 <class 'str'> 2245790390992
Minor Project
In [100… import time
def countdown(user_time):
while user_time > 0:
mins, secs = divmod(user_time, 60)
timer = '{:02d}:{:02d}'.format(mins, secs)
print(timer, end='\r')
[Link](1)
user_time -= 1
print("Countdown Off!!!")
if __name__ == '__main__':
user_time = int(input("Enter a time in seconds: "))
countdown(user_time)
Enter a time in seconds: 10
Countdown Off!!!
In [5]: mystr = "university"
for i in range(len(mystr)):
print (mystr[i], end = ", ")
print()
for i in mystr:
print (i, end = ", ")
u, n, i, v, e, r, s, i, t, y,
u, n, i, v, e, r, s, i, t, y,
In [6]: mystr[3] = "y"
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_12268\[Link] in <module>
----> 1 mystr[3] = "y"
TypeError: 'str' object does not support item assignment
Class Assignment
Take a sentence with upper and lower case letters and other characters from the user and find the number of vowels and
consonants in the given string.
In [8]: mystr = input("Please enter a sentence: ").lower()
vcount = ccount = 0
for ch in mystr:
if ([Link]()):
if (ch in "aeiou"): vcount += 1
else: ccount += 1
print (f"So number of vowels is {vcount} and consonant is {ccount}...")
print ("End of the program...")
Please enter a sentence: Univer$iTy
So number of vowels is 4 and consonant is 5...
End of the program...
Dealing with the List Processing
List is a collection of data items of same or different datatypes enclosed with in square brackets. List items are mutable as
INSERT, DELETE and UPDATE operations can be carried out on them.
In [56]: list1 = [100, 500, 200, 400, 300]
print (list1, len(list1), type(list1), id(list1))
print (max(list1), min(list1))
print (sum(list1), sum(list1) / len(list1))
[100, 500, 200, 400, 300] 5 <class 'list'> 2036183463808
500 100
1500 300.0
In [57]: list1 = ["Monday", "Friday", "Thursday", "Tuesday", "Sunday"]
print (list1, len(list1), type(list1), id(list1))
print (max(list1), min(list1))
print (sum(list1), sum(list1) / len(list1))
['Monday', 'Friday', 'Thursday', 'Tuesday', 'Sunday'] 5 <class 'list'> 2036182921344
Tuesday Friday
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_36520\[Link] in <module>
2 print (list1, len(list1), type(list1), id(list1))
3 print (max(list1), min(list1))
----> 4 print (sum(list1), sum(list1) / len(list1))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
In [60]: list1 = [100, 500.45, 200, False, 400.5, True, 300]
print (list1, len(list1), type(list1), id(list1))
print (max(list1), min(list1))
print (sum(list1), sum(list1) / len(list1))
[100, 500.45, 200, False, 400.5, True, 300] 7 <class 'list'> 2036183679296
500.45 False
1501.95 214.56428571428572
# list indexing and slicing index from left to right -> 0 1 2 3 4 list1 -> ["Sunday" "Tuesday", "Friday", "Saturday", "Thursday"] index from right to left -> -5 -4
-3 -2 -1
In [69]: list1 = ["Sunday", "Tuesday", "Friday", "Saturday", "Thursday"]
print (list1[2], list1[-3], list1[4], list1[-1])
print (list1[0::2], list1[1::2], list1[::-1])
print (list1[3][2:5], list1[-2][-6:-3])
Friday Friday Thursday Thursday
['Sunday', 'Friday', 'Thursday'] ['Tuesday', 'Saturday'] ['Thursday', 'Saturday', 'Friday', 'Tuesday', 'Sunda
y']
tur tur
In [74]: # defining empty list, empty tuple, empty dictionary, empty set and empty frozen-set
var1 = [] # empty list
print (var1, len(var1), type(var1), id(var1))
var1 = () # empty tuple
print (var1, len(var1), type(var1), id(var1))
var1 = {} # empty dictionary
print (var1, len(var1), type(var1), id(var1))
var1 = set() # empty set
print (var1, len(var1), type(var1), id(var1))
var1 = frozenset([]) # empty frozen set
print (var1, len(var1), type(var1), id(var1))
var1 = (9,) # singleton representation of a tuple
print (var1, type(var1), id(var1))
[] 0 <class 'list'> 2036183653440
() 0 <class 'tuple'> 2036066566208
{} 0 <class 'dict'> 2036183661568
set() 0 <class 'set'> 2036183762528
frozenset() 0 <class 'frozenset'> 2036074464864
In [78]: # converting string to list, tuple, set and frozen set
mystr = "my word mississippi"
print (mystr, len(mystr))
result = list(mystr)
print (result, len(result), type(result), id(result))
result = tuple(mystr)
print (result, len(result), type(result), id(result))
result = set(mystr)
print (result, len(result), type(result), id(result))
result = frozenset(mystr)
print (result, len(result), type(result), id(result))
my word mississippi 19
['m', 'y', ' ', 'w', 'o', 'r', 'd', ' ', 'm', 'i', 's', 's', 'i', 's', 's', 'i', 'p', 'p', 'i'] 19 <class 'lis
t'> 2036183652032
('m', 'y', ' ', 'w', 'o', 'r', 'd', ' ', 'm', 'i', 's', 's', 'i', 's', 's', 'i', 'p', 'p', 'i') 19 <class 'tupl
e'> 2036183510128
{'s', 'm', 'y', ' ', 'p', 'i', 'd', 'o', 'r', 'w'} 10 <class 'set'> 2036183762528
frozenset({'s', 'm', 'y', ' ', 'p', 'i', 'd', 'o', 'r', 'w'}) 10 <class 'frozenset'> 2036183762752
In [81]: # insert opeation on list
list1 = ["Monday", "Thursday", "Tuesday", "Sunday"]
print (list1, len(list1), type(list1), id(list1))
[Link]("Saturday")
print (list1, len(list1), type(list1), id(list1))
[Link]("Friday")
print (list1, len(list1), type(list1), id(list1))
[Link]("Wednesday")
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Tuesday', 'Sunday'] 4 <class 'list'> 2036183592320
['Monday', 'Thursday', 'Tuesday', 'Sunday', 'Saturday'] 5 <class 'list'> 2036183592320
['Monday', 'Thursday', 'Tuesday', 'Sunday', 'Saturday', 'Friday'] 6 <class 'list'> 2036183592320
['Monday', 'Thursday', 'Tuesday', 'Sunday', 'Saturday', 'Friday', 'Wednesday'] 7 <class 'list'> 2036183592320
In [90]: list1 = ["Monday", "Thursday", "Tuesday", "Sunday"]
print (list1, len(list1), type(list1), id(list1))
[Link](3, "Saturday")
print (list1, len(list1), type(list1), id(list1))
[Link](3, "Friday")
print (list1, len(list1), type(list1), id(list1))
[Link](1, "Wednesday")
print (list1, len(list1), type(list1), id(list1))
[Link](100, "Weekday")
print (list1, len(list1), type(list1), id(list1))
print(list1[7])
['Monday', 'Thursday', 'Tuesday', 'Sunday'] 4 <class 'list'> 2036150448064
['Monday', 'Thursday', 'Tuesday', 'Saturday', 'Sunday'] 5 <class 'list'> 2036150448064
['Monday', 'Thursday', 'Tuesday', 'Friday', 'Saturday', 'Sunday'] 6 <class 'list'> 2036150448064
['Monday', 'Wednesday', 'Thursday', 'Tuesday', 'Friday', 'Saturday', 'Sunday'] 7 <class 'list'> 2036150448064
['Monday', 'Wednesday', 'Thursday', 'Tuesday', 'Friday', 'Saturday', 'Sunday', 'Weekday'] 8 <class 'list'> 2036
150448064
Weekday
In [91]: # delete opeation on list
list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday']
print (list1, len(list1), type(list1), id(list1))
[Link]()
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036183658688
[] 0 <class 'list'> 2036183658688
In [92]: list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday']
print (list1, len(list1), type(list1), id(list1))
del list1
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036183680832
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_36520\[Link] in <module>
2 print (list1, len(list1), type(list1), id(list1))
3 del list1
----> 4 print (list1, len(list1), type(list1), id(list1))
NameError: name 'list1' is not defined
In [95]: list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday']
print (list1, len(list1), type(list1), id(list1))
[Link]('Saturday')
print (list1, len(list1), type(list1), id(list1))
[Link]('Sunday')
print (list1, len(list1), type(list1), id(list1))
[Link]('Sunday')
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036150184704
['Monday', 'Thursday', 'Tuesday', 'Friday', 'Sunday'] 5 <class 'list'> 2036150184704
['Monday', 'Thursday', 'Tuesday', 'Friday'] 4 <class 'list'> 2036150184704
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_36520\[Link] in <module>
5 [Link]('Sunday')
6 print (list1, len(list1), type(list1), id(list1))
----> 7 [Link]('Sunday')
8 print (list1, len(list1), type(list1), id(list1))
ValueError: [Link](x): x not in list
In [97]: list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday']
print (list1, len(list1), type(list1), id(list1))
[Link]()
print (list1, len(list1), type(list1), id(list1))
[Link](2)
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036185964864
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday'] 5 <class 'list'> 2036185964864
['Monday', 'Thursday', 'Tuesday', 'Friday'] 4 <class 'list'> 2036185964864
In [98]: # update opeation on list
list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday']
print (list1, len(list1), type(list1), id(list1))
list1[3] = "Wednesday"
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036183445312
['Monday', 'Thursday', 'Saturday', 'Wednesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036183445312
In [105… list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday']
print (list1, len(list1), type(list1), id(list1))
list2 = ['Friday', 'Sunday']
print (list2, len(list2), type(list2), id(list2))
result = list1 + list2 # list concatenation
print (result, len(result), type(result), id(result))
list1+=list2
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Saturday', 'Tuesday'] 4 <class 'list'> 2036183448640
['Friday', 'Sunday'] 2 <class 'list'> 2036185975552
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036185998208
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036183448640
In [104… list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday']
print (list1, len(list1), type(list1), id(list1))
list2 = ['Friday', 'Sunday']
print (list2, len(list2), type(list2), id(list2))
[Link](list2) # extending the list
print (list1, len(list1), type(list1), id(list1))
['Monday', 'Thursday', 'Saturday', 'Tuesday'] 4 <class 'list'> 2036185998208
['Friday', 'Sunday'] 2 <class 'list'> 2036185998976
['Monday', 'Thursday', 'Saturday', 'Tuesday', 'Friday', 'Sunday'] 6 <class 'list'> 2036185998208
In [106… list1 = ['Monday', 'Thursday', 'Saturday', 'Tuesday']
print (list1, len(list1), type(list1), id(list1))
list2 = ['Friday', 'Sunday']
print (list2, len(list2), type(list2), id(list2))
result = [list1, list2] # list of lists
print (result, len(result), type(result), id(result))
['Monday', 'Thursday', 'Saturday', 'Tuesday'] 4 <class 'list'> 2036185998976
['Friday', 'Sunday'] 2 <class 'list'> 2036186007744
[['Monday', 'Thursday', 'Saturday', 'Tuesday'], ['Friday', 'Sunday']] 2 <class 'list'> 2036183448640