KEMBAR78
Python_Functions_Advancedby_KMSolutions.pptx
Welcome
to
Advance Functions in
Python
Enumerate Function in Python
print(names_list)
#for i in names_list:
# print(i)
# looping with index
#for i in range(len(names_list)):
# print(i,names_list[i])
for i,j in enumerate(names_list,1):
print(i,j)
Iterators
• Iterators and Iterables in Python
• Ex1 -
lists for
loop
list1=[1
,2,3,5.5
,6.7,”ga
nesh”]
for I in
list1:
prin
Iterators
• Ex3 -
sets for
loop
set1={1
,2,3,5.5
,6.7,”ga
nesh”}
for I in
set1:
print(
i)
Ex4 –
Iterators
• To print list of elements without loop
• 2 methods
• Using Index
Ex : days_list=[“Sun”,”Mon”,”Tue”,”Wed”,”Thu”]
i=0
while I <= len(days_list):
print(days_list[i])
i+=1
Iterators
• Next method is using iterator protocol
• Way of working iterators and iterables
for i in list1: # list1 is iterables
print(i) # i is iterator
objects
Inbuilt Function is
L1=iter(list1)
next(L1)
Next(L2)
Note :
lists/tuples/sets/d
Example
import cx_Oracle
con=cx_Oracle.connect('hr/hr@xe')
mycursor=con.cursor()
mycursor.execute('select * from employees')
names_list=[ names[1] for names in mycursor]
#print(names_list)
mynames=iter(names_list)
print(next(mynames))
print(next(mynames))
print(next(mynames))
print(next(mynames))
con.close()
def print_iterables(n):
names=iter(n)
while True:
try:
nxt=next(names)
except StopIteration:
break
else:
print(nxt)
x=print_iterables(nam
es_list) print(x)
Generators Function
• Generator function is a function which returns generator-iterator
with the help of yield keyword
Generator-iterator is special type of iterator ie. generator function will
Generate iterators
All generator-iterator are iterators but all iterators are not generator-
iterators
yield is like a return in normal function
def disp_sq(mx_no):
x=1
while x<mx_no:
print(x*x)
x+=1
if x>mx_no:
break
disp_sq(10)
Generator Example 1
def disp_nos(mx_no):
x=1
while x < mx_no:
yield x*x x+=1
if x>mx_no:
break
no=disp_nos(10)
print(next(no))
Generator Example 2
def disp_fibo_nos(nos):
a,b=0,1
while True:
c=a+b
if c<=nos:
yield c
a=b
b=c
else:
break
n=disp_fibo_nos(10)
print(next(n))
print(next(n))
print(next(n))
print(next(n))

Python_Functions_Advancedby_KMSolutions.pptx