a few extensions for the itertools
Duncan Booth
duncan.booth at invalid.invalid
Mon Nov 20 03:59:29 EST 2006
Mathias Panzenboeck <e0427417 at student.tuwien.ac.at> wrote:
> No, because the builtin sum want's a list. This can also handle any
> kind of iterable, so this would work:
>
> isum(i**2 for i in xrange(100))
>
> sum would need firs the whole list to be generated:
>
> sum([i**2 for i in xrange(100)])
Really?
>>> sum(i**2 for i in xrange(20000000))
2666666466666670000000L
seems to work fine, and judging by the memory usage it pretty obviously
doesn't create an intermediate list.
More information about the Python-list
mailing list