Message 63548 - Python tracker (original) (raw)
The attached patch adds the missing *-unpacking generalizations. Specifically:
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]