[Python-Dev] Rationale behind lazy map/filter (original) (raw)

R. David Murray rdmurray at bitdance.com
Tue Oct 13 10:51:41 EDT 2015


On Tue, 13 Oct 2015 14:59:56 +0300, Stefan Mihaila <stefanmihaila91 at gmail.com> wrote:

Maybe it's just python2 habits, but I assume I'm not the only one carelessly thinking that "iterating over an input a second time will result in the same thing as the first time (or raise an error)".

This is the way iterators have always worked. The only new thing is that in python3 some things that used to be iterables (lists, usually) are now iterators. Yes it is a change in mindset with regards to those functions (and yes I sometimes find it annoying), but it is actually more consistent than it was in python2, and thus easier to generalize your knowledge about how python works instead of having to remember which functions work which way. That is, if you need to iterate it twice, turn it into a list first.

--David



More information about the Python-Dev mailing list