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, ...