[Python-es] De listas a variables
Marcos Sánchez Provencio
rapto en arrakis.es
Vie Ago 30 15:34:21 CEST 2013
¿Te vale collections.OrderedDict
<http://docs.python.org/2/library/collections.html#collections.OrderedDict>?
http://docs.python.org/2/library/collections.html#collections.OrderedDict
El 30/08/13 09:06, Luis escribió:
> Hola, :)
>
> Necesito pasar un conjunto de pares 'clave:valor' a una función. He
> estado probado con los diccionarios pero resulta que a la hora de
> trabajar con los pares no me conviene el orden en que salen, ni
> tampoco ordenarlos, más bien me interesa el orden en que los
> introduje, y no salen así.
>
> He pensado entonces en pasar una lista con solo los nombres de las
> variables pero necesitaría poder convertir esos elementos de la lista
> en variables independientes.
>
> Me explico con un ejemplo,
>
>>>> x=1
>>>> y=2
>>>> z=3
>>>> list=[x,y,z]
>>>> def mostrar(list):
> ... for var in list:
> ... print '%s: %2d'%(var,var)
> ...
>>>> mostrar(list)
> 1: 1
> 2: 2
> 3: 3
>
> Aquí está la cosa, necesito que en la primera columna aparezcan x,y,z
> y no sus respectivos valores.
>
> Con los diccionarios he probado de varias maneras:
>
> 1. Pasando el diccionario y luego volviendo a escribir las mismas
> variables dentro de la función para así poder establecer mi orden.
> Este método no tiene gracia.
>
> 2. Pasando el diccionario y una lista con las mismas variables para
> poder imponer el orden pues las listas no alteran dicho orden. Este
> método tampoco tiene gracia.
>
> 3. Pasando una lista con todas las variables entrecomilladas y también
> sin comillas(como variables). Igualmente de absurdo. Debería de poder
> lograrlo pasando los nombres de variables una sola vez.
>
> Si pudiera trabajar la línea de la función 'print' tal vez pudiera
> lograrlo, pero cómo?
>
> Les estaré muy agradecido :)
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130830/359809fe/attachment.html>
Más información sobre la lista de distribución Python-es