"Exploding" (**myvariable) a dict with unicode keys

"Martin v. Löwis" martin at v.loewis.de
Fri Oct 3 21:29:38 CEST 2008


Devin wrote:
> On Oct 3, 1:57 pm, Peter Otten <__pete... at web.de> wrote:
>> "Martin v. Löwis" wrote:
>>> Devin wrote:
>>>> So Python can have unicode variable names but you can't
>>>> "explode" (**myvariable) a dict with unicode keys? WTF?
>>> That works fine for me.
>> The OP probably means
>>
>>>>> def f(a=1): return a
>> ...
>>>>> f(**{"a": 42})
>> 42
>>>>> f(**{u"a": 42})
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>> TypeError: f() keywords must be strings
>>
>> Peter
> 
> Yes, that's exactly what I mean.

Hmm. Why did you say that Python can have unicode variable
names? In the version you are using, it can't. In Python
3.0, it can, but then, you can also use Unicode strings
as keys in **arguments, in Python 3.0.

Regards,
Martin



More information about the Python-list mailing list