On Sat, Mar 15, 2008 at 11:15 AM, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> Thomas Wouters suggests some new syntax:
>
>  http://bugs.python.org/issue2292
>
>  >>> a, b, *c = range(5)
>
>  >>> *a, b, c = a, b, *c
>  >>> a, b, c
>  ([0, 1, 2], 3, 4)
>  >>> [ *a, b, c ]
>  [0, 1, 2, 3, 4]
>  >>> L = [ a, (3, 4), {5}, {6: None}, (i for i in range(7, 10)) ]
>  >>> [ *item for item in L ]
>  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>
>  Also, yielding everything from an iterator:
>
>  >>> def flatten(iterables):
>  ...     for it in iterables:
>  ...         yield *it
>  ...
>  >>> L = [ a, (3, 4), {5}, {6: None}, (i for i in range(7, 10)) ]
>  >>> flatten(L)
>  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>
>  What do people think?

I am +1 since it is a nice generalization, especially the yield usage.

-Brett
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to