[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