On Mon, Nov 14, 2016 at 7:02 AM, Antoon Pardon
<antoon.par...@rece.vub.ac.be> wrote:
> Some time ago I read a text or saw a video on iterators and one thing
> I remember from it, is that you should do something like the following
> when working with iterators, to avoid some pitt falls.
>
> def bar(iterator):
>     if iter(iterator) is iterator:
>         ...
>
> However I can't relocate it and can't remember the what and how anymore.
> Does anyone know what this is about?

That's how you distinguish an iterator from other iterables. An
iterable is something you can call iter() on; an iterator is required
to specifically return _itself_.

What you do with that information, though, depends on the function. In
a lot of cases, you shouldn't care - if you need an iterator, just
"iterator = iter(iterator)" at the top and move on.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to