From: "Oren Tirosh" <oren-py-d@hishome.net> > > I believe that when David was talking about multi-pass iterability he > wasn't referring to an iterator that can be told to "start over again" but > to an iterable object that can produce multiple independent iterators of > itself, each one good for a single iteration. That's right. > The language does make a distinction between an *iterable* object that may > have only an __iter__ method and an *iterator* that has a next method. This > distinction is blurred a bit by the fact that iterators also have an > __iter__ method that also makes them appear as one-shot iterables. Yep. [Part of the reason I want to know whether I've got a one-shot sequence is that inspecting that sequence then becomes an information-destroying operation -- only being able to touch it once changes how you have to handle it] I was thinking one potentially nice way to introspect about multi-pass-ability might be to get an iterator and to see whether it was copyable. Currently even most multi-pass iterators can't be copied with copy.copy(). -Dave
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4