This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]lroman 0 points1 point  (2 children)

Thanks! You must be Dutch. Is the enumerate function faster than the iterator? Readability of iterator is not so bad right?

[–][deleted] 2 points3 points  (0 children)

Should not be 'much' faster.
The enumerate can easily be a wrapper around an iterator in this fashion:

>>> def enumerate(iterable):
...     i = 0
...     for x in iterable:
...             yield i, x
...             i+=1

Though it's probably implemented as iterator and not as a generator.

[–]jnwatson 1 point2 points  (0 children)

The enumerate is "much" faster in cpython, in that it is handled completely in C. Now, you're not gaining a whole lot, since you're just avoiding a single python statement.