[Python-ideas] Reduce/fold and scan with generator expressions and comprehensions

Steven D'Aprano steve at pearwood.info
Sun Oct 23 11:59:20 EDT 2016


On Sun, Oct 23, 2016 at 12:57:10PM -0200, Danilo J. S. Bellini wrote:
> The idea is to let generator expressions and list/set comprehensions have a
> clean syntax to access its last output. That would allow them to be an
> alternative syntax to the scan higher-order function [1] (today implemented
> in the itertools.accumulate function), which leads to an alternative way to
> write a fold/reduce. It would be nice to have something like:

[cut suggested syntax]

> instead of a reduce:

[cut four existing ways to solve the problem]

Why do we need a FIFTH way to solve this problem? What you are 
describing is *exactly* the use case for a reduce or fold function. Why 
add special magic syntax to make comprehensions do even more?

Not everything needs to be a one liner. It's okay to import reduce to do 
a reduce. Its okay to write an actual for-loop.

> Actually, I already wrote a solution for something similar to that:
> PyScanPrev [2]. 

Ah, that makes SIX existing solutions. Do we need a seventh?



-- 
Steve


More information about the Python-ideas mailing list