[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