Steven D'Aprano wrote:

According to the Python docs, once an iterator raises StopIteration, it should continue to raise StopIteration forever. Iterators that fail to behave in this fashion are deemed to be "broken":

http://docs.python.org/lib/typeiter.html

I don't understand the reasoning behind this. As I understand it, an iterator is something like a stream. There's no constraint that once a stream is empty it must remain empty forever.

it's a design guideline, not an absolute rule.

but I disagree that an iterator is "something like a stream". it's rather "something like a pointer or an index", that is, an object that helps you iterate over all members in a collection.

</F>

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to