¿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 :)
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/