[Python-Dev] accumulator display syntax
aleaxit at yahoo.com
Thu Oct 16 05:14:31 EDT 2003
On Thursday 16 October 2003 07:16 am, Greg Ewing wrote:
> "Phillip J. Eby" <pje at telecommunity.com>:
> > IMO, it would really be better to have some kind of generator
> > comprehension
> > Top(10, [yield humor(joke),joke for joke in jokes])
> I like the *idea* of a generator comprehension, but I'm
> not sure I like the [yield ...] syntax. It's a bit
> idiomatic looking -- the  still imply a list, even
> though it's not building a list at all.
> Maybe there should be a different kind of bracketing,
> <humor(joke),joke for joke in jokes>
I think we could extend indexing to mean something different when
the [ ] contain a 'for', just like we extended list display to mean
something different (list comprehension) when the [ ] contain a
'for'. Syntax such as:
Top(10)[ humor(joke) for joke in jokes ]
does not suggest a list is _returned_, just like foo doesn't.
And I have an idea on semantics (which I intend to post separately)
which might let accumulator display syntax work for both "iterator
comprehensions" AND "return of ordinary non-iterator" results.
More information about the Python-Dev