List2Dict

Catalin Lungu lcatalin en siadv.com
Mie Ene 19 08:33:46 CET 2005


Muchas gracias a todos. No pensaba que hay tantas posibilidades.
Catalin.

----- Original Message ----- 
From: "Josu Oyanguren" <josu en ubera.net>
To: "La lista de python en castellano" <python-es en aditel.org>
Sent: Tuesday, January 18, 2005 7:44 PM
Subject: Re: [Python-es] List2Dict


> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Si quieres descartar los elementos que no tenga ':'
>
> dict([elem.split(":",1) for elem in lista if ':' in elem])
>
> (teniendo en cuenta que 'a:b:c'.split(':', 1) -> ['a', 'b:c'])
>
> si lo que quieres es añadirlos, pero que no tengan valor (None)
>
> dict([(elem.split(":", 1) + [None])[:2] for elem in lista])
>
>
> |>> lista = ["a:1","b:2","c:3","d:4","e:5", "f"]
> |>> dict([elem.split(":",1) for elem in lista if ':' in elem])
> {'a': '1', 'c': '3', 'b': '2', 'e': '5', 'd': '4'}
> |>> dict([(elem.split(":", 1) + [None])[:2] for elem in lista])
> {'a': '1', 'c': '3', 'b': '2', 'e': '5', 'd': '4', 'f': None}
>
>
>
> Catalin Lungu escribió:
> | Hola,
> | Hay alguna forma de convertir una lista en diccionario de la siguiente
> forma, pero también tratando los errores.
> |
> | lista = ["a:1","b:2","c:3","d:4","e:5"]
> | dict([(elem.split(":")[0], elem.split(":")[1]) for elem in lista])
> |
> | Si por ej. añado un elemento a la lista que no contenga los ":", al
> hacer elem.split(":")[1] me da error. Lo puedo controlar de alguna forma
> y que la instrucción se quede en 1 sola línea.
> |
> | Saludos,
> | Catalin
> | _______________________________________________
> | Python-es mailing list
> | Python-es en aditel.org
> | http://listas.aditel.org/listinfo/python-es
> |
> |
>
>
> - --
>
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.1 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
> iD8DBQFB7VkU5ju4HVxhuqQRApl+AJ9FjDpQyQrlWzb0Tx4H9sW30iktMQCdHQW+
> nks/4dHi5ox0CJBpmU2XP9w=
> =rSV1
> -----END PGP SIGNATURE-----
>


--------------------------------------------------------------------------------


_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es