[Numpy-discussion] Simple multi-arg wrapper for dot()
Bill Baxter
wbaxter@gmail....
Sat Mar 24 13:52:27 CDT 2007
On 3/24/07, Steven H. Rogers <steve@shrogers.com> wrote:
> Anne Archibald wrote:
> >
> > P.S. reduce isn't even a numpy thing, it's one of python's
> > much-neglected lispy functions.
> >
>
> It looks like reduce(), map(), and filter() are going away for Python
> 3.0 since GvR believes that they are redundant and list comprehensions
> and generator expressions are more readable alternatives. lambda was on
> the block as well, but will be retained.
Are you sure reduce is on the chopping block? The PEP for generator
expressions doesn't say anything about reduce becoming redundant.
http://www.python.org/dev/peps/pep-0289/
They give the example of
reduce(lambda s, a: s + a.myattr, data, 0)
becoming
sum(a[3] for a in data)
but that does nothing to address how functions like sum themselves
should be written. For a general binary operator, the equivalent of
"sum" can be conveniently expressed as a reduce operation.
As far as I can tell Python has no "prod" function. So if one just
changes the example to
reduce(lambda s, a: s * a.myattr, data, 1)
How does one write that in a simplified way using generator
expressions without calling on reduce?
--bb
More information about the Numpy-discussion
mailing list