iterators and generators
DESCRIPTION
Iterators and GeneratorsTRANSCRIPT
Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring PartnerBaabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
Week Target
Achieved
1 23 19
2 25 23
3 30 27
4 35
Typing Speed
Jobs Applied# Company Designation Applied
DateCurrent Status
1 Skillsearch Limited
Junior software engineer
7/08/2013
2
3
Iterators and Generators in python
● Shameena
● www.facebook.com/shameenalatheef
● twitter.com/shameena
● in.linkedin.com/in/shamean
● 9567135569
Iterator is an object which allows a programmer to traverse through all the elements of a collection
iterator is an object which implements the iterator protocol
The iterator protocol consists of two methods.
1) __iter__()::return the iterator object
2) next():: returns the next element from a sequence.
● An iterator is typically something that has a next method to get the next element from a stream
● An iterator traverses a collection one at a time.
●
● All of the common containers (list,tuple,dict) respond to iter() function by returning an iterator over the item in the container
●
str = "formidable"for i in str: print i,printit = iter(str)print it.next()print it.next()print it.next()print list(it)
Output:
f o r m i d a b l e
f
o
r
['m', 'i', 'd', 'a', 'b', 'l', 'e']
Generators
● generator is a special routine that can be used to control the iteration behaviour of a loop.
● a generator yields one value at a time Every generator is an iterator but not vice versa.
A generator is built by calling a function that has one or more yield expressions
A generator looks like a conventional function, with one important difference: a generator includes the yield statement
● When a stop iteration is raised it is handled by for statement as a normal termination of the loop
● Example:Example:
def printName(name):
for section in name.split(' '):
yield section
for section in printName("Guido van Rossum"):
print section
Output:
If this presentation helped you, please visit our page facebook.com/baabtra and
like it.
Thanks in advance.
www.baabtra.com | www.massbaab.com |www.baabte.com
Contact Us
Emarald Mall (Big Bazar Building)Mavoor Road, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550
NC Complex, Near Bus StandMukkam, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550
Start up VillageEranakulam,Kerala, India.
Email: [email protected]