Strange range
Marko Rauhamaa
marko at pacujo.net
Fri Apr 1 09:15:41 EDT 2016
This seems sane:
>>> it = iter(range(10))
>>> for i in it:
... if i >= 3:
... break
...
>>> list(it)
[4, 5, 6, 7, 8, 9]
As does this:
>>> it = iter(list(range(10)))
>>> for i in it:
... if i >= 3:
... break
...
>>> list(it)
[4, 5, 6, 7, 8, 9]
This not so much:
>>> it = range(10)
>>> for i in it:
... if i >= 3:
... break
...
>>> list(it)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Note to self: range(10) is an iterator factory, not an iterator.
Marko
More information about the Python-list
mailing list