when an iterable object is exhausted or not
Franck Ditter
franck at ditter.org
Sat Aug 4 15:20:36 EDT 2012
Two similar iterable objects but with a different behavior :
$$$ i = range(2,5)
$$$ for x in i : print(x,end=' ')
2 3 4
$$$ for x in i : print(x,end=' ') # i is not exhausted
2 3 4
--------- Compare with :
$$$ i = filter(lambda c : c.isdigit(), 'a1b2c3')
$$$ for x in i : print(x,end=' ')
1 2 3
$$$ for x in i : print(x,end=' ') # i is exhausted
$$$
IMHO, this should not happen in Py3k.
What is the rationale of this (bad ?) design, which forces the programmer
to memorize which one is exhaustable and which one is not ?...
franck
More information about the Python-list
mailing list