[Python-ideas] Unpacking a dict
Paul Moore
p.f.moore at gmail.com
Wed May 25 14:52:53 EDT 2016
On 25 May 2016 at 19:47, Ethan Furman <ethan at stoneleaf.us> wrote:
> On 05/25/2016 11:42 AM, Steven D'Aprano wrote:
>>
>> On Wed, May 25, 2016 at 01:11:35PM +0000, Michael Selik wrote:
>
>
>>> py> mapping = {"a": 1, "b": 2, "c": 3}
>>> py> {"a": x, "b": y, "c": z} = mapping
>>> py> x, y, z
>>> (1, 2, 3)
>>
>>
>> I think that is too verbose and visually baffling. I'd rather see
>> something less general and (in my opinion) more useful:
>>
>> a, b, c = **mapping
>>
>> being equivalent to:
>>
>> a = mapping['a']
>> b = mapping['b']
>> c = mapping['c']
>
>
> +1
>
> Simplest, easiest to grok, probably solves 95+% of the use-cases.
OTOH, you could also do
x = SimpleNamespace(**mapping)
and use x.a, x.b, x.c.
Paul
More information about the Python-ideas
mailing list