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? -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ 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