[Python-es] Practica con lista de diccionarios.
Jesús Espino
jespinog en gmail.com
Sab Oct 26 19:41:40 CEST 2013
Hola,
Esto se debe a que en python los diccionarios no están ordenados, si
quieres tener el mismo efecto que un diccionario ordenado puedes usar o una
lista de tuplas, o mejor aun OrderedDict del modulo collections [1].
Un saludo.
[1] http://docs.python.org/2/library/collections.html#ordereddict-objects
2013/10/26 kausdiv <kausdiv en gmail.com>
> Hola amigos.
>
> Estoy haciendo para practicar una especie de lista de contactos.
> Estoy haciendo con una lista de diccionarios que guardo y abro con pickle.
>
> Ejemplo de estructura:
> d = [{'Nombre': 'Antonio','Apellidos': 'F. F.'},
> {'Nombre': 'Maria','Apellidos': 'A. P.','Ciudad': 'GR','Movil': '
> 600000000'},
> {'Nombre': 'Esther','Apellidos': 'L. R.','Movil': '600111111',
> 'Tipo':'Android'} ]
>
> La idea es que cada nodo pueda tener x campos no fijos. (En el futuro será
> una base de datos mongoDB)
> *
> **Problema:* Cuando listo, los campos (clave:valor) no salen en el mismo
> orden que están introducidos: ( pego el prodedimiento de impresión y el
> resultado) ¿ Como puedo solucionarlo para que se impriman las claves en el
> mismo orden que se meten ?
>
> def listar_todo(d):
> i=0
> for n in d:
> print "-----------< Elemento %i >----------" % i
> i+=1
> for g in n.keys():
> print "%s \t%s" % (g, n[g])
> ---------------------------------------------------------------
>
> -----------< Elemento 0 >----------
> Apellidos F. F.
> Nombre Antonio
> -----------< Elemento 1 >----------
> Apellidos A. P.
> Nombre Maria
> Ciudad GR
> Movil 600000000
> -----------< Elemento 2 >----------
> Apellidos L. R.
> Nombre Esther
> Movil 600111111
> Tipo Android
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20131026/0e33f69c/attachment.html>
Más información sobre la lista de distribución Python-es