[Python-Dev] Re: accumulator display syntax

David Eppstein eppstein at ics.uci.edu
Mon Oct 20 13:03:50 EDT 2003


In article <200310201640.h9KGe4I21305 at 12-236-54-216.client.attbi.com>,
 Guido van Rossum <guido at python.org> wrote:

> And in fact, I think that
> 
>   sum(x for x in range(10))
> 
> reads *better* than
> 
>   sum of x for x in range(10)
> 
> and certainly better than
> 
>   sum of x for x in range of 10

I also think
    sum(x for x in range(10))
reads much better than
    sum(yield x for x in range(10))
    sum(yield: x for x in range(10))
or even
    sum([x for x in range(10)])

(The yield-based syntaxes also have the problem of confusing the reader 
into thinking the function containing them might be a generator.)
It is enough better that the "tuple comprehension" issue is a 
non-problem for me.  I'm assuming this syntax would need surrounding 
parens inside lists, tuples, and dicts (to avoid confusion with 
list/dict comprehensions and for the same reason [x,x for x in S] is 
currently invalid syntax) but avoiding the extra parens in other 
contexts like function calls looks like a win.

-- 
David Eppstein                      http://www.ics.uci.edu/~eppstein/
Univ. of California, Irvine, School of Information & Computer Science




More information about the Python-Dev mailing list