Re: best cumulative sum
- From: "David Isaac" <aisaac0@xxxxxxxxxxx>
- Date: Wed, 23 Nov 2005 17:55:19 GMT
"Peter Otten" <__peter__@xxxxxx> wrote in message
news:dm263o$b8b$02$1@xxxxxxxxxxxxxxxxxxxx
> Of course nothing can beat a plain old for loop in terms of readability
and
> -- most likely -- speed.
Here are two versions, meant to be comparable.
Thanks,
Alan Isaac
def cumreduce(func, seq, init = None):
cr = seq[:]
if not(init is None):
if seq:
cr[0] = func(init,seq[0])
else:
cr = [init]
for idx in range(1,len(seq)):
cr[idx] = func(cr[idx-1],seq[idx])
return cr
def ireduce(func, iterable, init=None):
if init is None:
iterable = iter(iterable)
init = iterable.next()
yield init
elif not iterable:
yield init
for item in iterable:
init = func(init, item)
yield init
.
- Follow-Ups:
- Re: best cumulative sum
- From: Peter Otten
- Re: best cumulative sum
- References:
- best cumulative sum
- From: David Isaac
- Re: best cumulative sum
- From: Micah Elliott
- Re: best cumulative sum
- From: Erik Max Francis
- Re: best cumulative sum
- From: bonono@xxxxxxxxx
- Re: best cumulative sum
- From: David Isaac
- Re: best cumulative sum
- From: Colin J. Williams
- Re: best cumulative sum
- From: David Isaac
- Re: best cumulative sum
- From: Michael Spencer
- Re: best cumulative sum
- From: bonono@xxxxxxxxx
- Re: best cumulative sum
- From: David Isaac
- Re: best cumulative sum
- From: Peter Otten
- best cumulative sum
- Prev by Date: Re: asyncore question
- Next by Date: Re: Simple photo collage using Python and PIL
- Previous by thread: Re: best cumulative sum
- Next by thread: Re: best cumulative sum
- Index(es):
Relevant Pages
|