Iterators
A for
loop is primarily used to traverse a list, but it picks the elements of the list one at a time. In particular, there is no need to store the whole list in memory for the loop to work properly. The mechanism that allows for
loops to work without lists is that of iterators.
An iterable object produces objects (to be passed to a for
loop). Such an object, obj
, may be used inside a for
loop, as follows:
for element in obj: ...
The notion of iterator thus generalizes the idea of lists. The simplest example of an iterable object is given by lists. The produced objects are simply the objects stored in the list:
L = ['A', 'B', 'C'] for element in L: print(element)
An iterable object need not produce existing objects. The objects may, instead, be produced on the fly.
A typical iterable is the object returned by the function range
. This function works as if it would generate a list of integers, but instead, the successive integers...