2007/7/13, Raymond Hettinger <[EMAIL PROTECTED]>:


[Matthieu on itertools.dropwhile() docs]
> Make an iterator that drops elements from the iterable as long as the
predicate is true; afterwards, returns every element. Note,
> the iterator does not produce any output until the predicate is true, so
it may have a lengthy start-up time.
>
> It says something and then the opposite, so which one is true ?

It is correct as written.  Given a sequence where predicate is true 1000
times and then alternately false and true, it returns the
part that is alternately false and true.  So, it did DROP (omit, not
return, skip-over, etc) the first 1000 true items and it did
return EVERY element from the first false to the end.  It did not produce
any output for the first 1000 inputs so it took a while to
get to the first output (the first false).  Hope that clears it up for
you.


Hi,

Thanks for the answer.
I agree with you, but this explains the first sentence. The second says that
nothing is output until the predicate is true. It should say" while the
predicate is true" or "until the predicate is false". But I could be
misunderstand 'until' as well (English is not my mother tongue, but
still...)


Matthieu
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to