int vs long
Marc 'BlackJack' Rintsch
bj_666 at gmx.net
Mon Jun 4 03:29:17 EDT 2007
In <1hz4uas.7jeyyu192pb8tN%aleax at mac.com>, Alex Martelli wrote:
> Paul Rubin <http://phr.cx@NOSPAM.invalid> wrote:
>
>> Dan Bishop <danb_83 at yahoo.com> writes:
>> > If you ever do, it's trivial to write your own enumerate():
>> > def enumerate(seq):
>> > index = 0
>> > for item in seq:
>> > yield (index, item)
>> > index += 1
>>
>> That's a heck of a lot slower than the builtin, and if you're running it
>> often enough for sys.maxint to be an issue, you may care about the speed.
>
> Perhaps itertools.izip(itertools.count(), seq) might be faster (haven't
> timed it, but itertools tends to be quite fast).
I think correct is more important than fast. `itertools.count()` has the
same issues that `enumerate()`:
>>> from itertools import count
>>> from sys import maxint
>>> c = count(maxint)
>>> c.next()
2147483647
>>> c.next()
-2147483648
What I find most disturbing here, is that it happens silently. I would
have expected an exception instead of the surprise.
Ciao,
Marc 'BlackJack' Rintsch
More information about the Python-list
mailing list