[Python-Dev] Tuple/list assignment question
James Y Knight
foom at fuhm.net
Thu Aug 5 18:10:34 CEST 2004
On Aug 3, 2004, at 2:44 AM, Dave Cole wrote:
> >>> a_list = [1, 2, 3, 4, 5]
> >>> a, b, *c = a_list
While you're proposing expanding the domain of the * construct of
function calling to other parts of python, I'd also like to suggest the
following features, to make the ** construct also applicable to the
rest of the language.
To be read with an 70% wink. (I wouldn't be *un*happy if these were in
python, but I am not seriously proposing these features for inclusion):
Dict unpacking, parallels current sequence unpacking:
>>> d = {'foo': 1, 'bar': 2}
>>> {'foo': x, 'bar': y} = d
>>> x, y
(1, 2)
Dict interpolation, similar to sequence interpolation and keyword
interpolation in function calls:
>>> d = {'foo': 1, 'bar': 2}
>>> d2 = {'baz': 3, **d}
>>> d2
{'baz': 3, 'foo': 1, 'bar': 2}
Combining the two:
>>> d = {'foo': 1, 'bar': 2, 'baz': 3}
>>> {'foo': x, 'bar': y, **d2} = d
>>> x, y, d2
(1, 2, {'baz': 3})
James
More information about the Python-Dev
mailing list