Consume an iterable

Arnaud Delobelle arnodel at googlemail.com
Fri Jan 22 10:07:19 EST 2010


Muhammad Alkarouri <malkarouri at gmail.com> writes:

> In the python help for itertools, the following function is provided:
>
> def consume(iterator, n):
>     "Advance the iterator n-steps ahead. If n is none, consume
> entirely."
>     collections.deque(islice(iterator, n), maxlen=0)
>
> What is the advantage of using a collections.deque against, say, the
> following code?
>
> def consume(iterator, n):
>     for _ in islice(iterator, n): pass
>

deque is written in C, and so is islice, so it's less work for the
bytecode interpreter?

-- 
Arnaud



More information about the Python-list mailing list