En vez de usar un diccionario estandar (que no soporta ordenacion) utiliza OrderedDict(). Te dejo el enlace a la documentacion: http://docs.python.org/2/library/collections.html#ordereddict-objects
Regards, Oscar -- Oscar Carballal Prego Software developer oscar.carbal...@gmail.com El 26 de octubre de 2013 19:34, kausdiv <kaus...@gmail.com> escribió: > 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@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/