[pyar] ¿Este es el comportamiento esperado de dict()?
Luis Masuelli
luismasuelli en hotmail.com
Mie Nov 4 21:23:03 ART 2015
No es un problema de dict() sino de cómo python maneja la semántica de **kwargs. Tienen que ser strings porque tiene que ser equivalente a la sintaxis desempacada: en python no podés hacer cosas como 1="hola".
In [1]: def f(*args, **kwargs): ...: print args, kwargs ...:
In [2]: f(**{1: 2})
Esto que acabo de poner te va a fallar, al menos en 2.* (no lo probé en 3 pero seguro tmb explota).
> To: pyar en python.org.ar
> From: humitos en gmail.com
> Date: Wed, 4 Nov 2015 19:14:25 -0500
> Subject: [pyar] ¿Este es el comportamiento esperado de dict()?
>
> Hola,
>
> Me acabo de encontrar con una situación interesante:
>
> Python 3.4.3 (default, Oct 14 2015, 20:28:29)
> [GCC 4.8.4] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> d = {1: 'key number'}
> >>> dict(key='content data', **d)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: keyword arguments must be strings
> >>> d = {'1': 'key number'}
> >>> dict(key='content data', **d)
> {'1': 'key number', 'key': 'content data'}
> >>>
>
> ¿Creen que es correcto este comportamiento?
>
> ¿Porqué no puedo tener llaves numéricas en "d" y usarlo así "**d" en dict?
>
> Saludos,
>
> --
>
> Kaufmann Manuel
> -- http://elblogdehumitos.com.ar/
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151105/1c02f577/attachment.html>
More information about the pyar
mailing list