[Python-Dev] [Python-checkins] cpython: Add optional *func* argument to itertools.accumulate().

Raymond Hettinger raymond.hettinger at gmail.com
Mon Mar 28 09:49:03 CEST 2011


On Mar 28, 2011, at 12:38 AM, Daniel Stutzbach wrote:

> On Sun, Mar 27, 2011 at 10:53 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> On Mon, Mar 28, 2011 at 2:11 PM, Daniel Stutzbach <stutzbach at google.com> wrote:
> > Is there a good use-case for the func argument?
>  
> The examples that Raymond gives in the docs (cumulative
> multiplication, running min/max, cash flow accumulation) look fairly
> solid to me.
> 
> (I had the nagging suspicion that I was making a blunder in my email, but I couldn't see it despite rereading my email several times before sending.  My blunder was in not rereading the patch to see the examples.  Anyway...)
> 
> When would a running product, min, or max be useful?

There's no need to speculate.  This API has long been present in other languages and libraries.

Do a google code search for R's builtin functions cumsum, cumprod, cummin, and cummax. Look at mumpy's accumulate ufunc which works with many operators. APL and K also have an accumulate tool which takes arbitrary functions.

Or consider as an API principle that there should be s useful default (addition in this case) and also hooks or parameters provided so that users don't have to do backflips to override hard-wired behaviors.


Raymond  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20110328/49d7958e/attachment.html>


More information about the Python-Dev mailing list