Título: [SOLUCIONADO][PYTHON] Como ordenar(sort) un diccionario? Publicado por: Jirp96 en 7 Agosto 2011, 18:26 pm Hola!
Como dice el titulo, necesito ordenar("sortear"?) un diccionario. Tengo un diccionario que contiene las letras del alfabeto en minuscula y sus valores ascii; el par "clave-valor" seria: (letra: CodAscii) El diccionario lo defino de esta forma(para no anotar letra por letra :xD): Código
Cuando lo genero, me queda asi: Código
Yo lo que quiero es que quede todo el diccionario ordenado(a,b,c,d,e,f....v,w,x,y,z) en vez de tenerlo asi(a,c,b,e,d....w,v,y,x,z) ___________________________________________________________________ He buscado en gugol, y encontre este codigo(lo encontre aqui (http://code.activestate.com/recipes/52306/)) Código
y me genera una lista ordenada, hasta aca todo bien(la lista esta ordenada), pero luego si la convierto a diccionario(perdonen el nombre de las variables :rolleyes:) Código
Alguien sabe porque pasa esto? y si hay alguna cosa que estoy haciendo mal, o es algo de python(uso Python 2.66 por las dudas)? Saludos! y gracias por adelantado Título: Re: [PYTHON] Como ordenar(sort) un diccionario? Publicado por: Novlucker en 7 Agosto 2011, 20:10 pm El problema es que no es posible ordenar un diccionario, lo único que puedes hacer es imprimir u obtener una representación de como quedaría ordenado, pero el objeto en si no se puede ordenar.
Por cierto, no se lo que intentas hacer pero, no es mejor esto? Código
Saludos Título: Re: [PYTHON] Como ordenar(sort) un diccionario? Publicado por: Jirp96 en 7 Agosto 2011, 21:06 pm Hola!
Gracias por responder Novlucker, si no se puede, no se puede xD _______________________________________________________________________ Por cierto, lo que intentaba hacer con ese diccionario era implementar el Cifrado Cesar en Python :xD. El diccionario lo usaba para controlar los "límites" de los caracteres, para que no tomara ningun valor fuera del rango "a-z" Saludos! Título: Re: [PYTHON] Como ordenar(sort) un diccionario? Publicado por: Novlucker en 7 Agosto 2011, 21:11 pm Pero eso lo puedes hacer con comparaciones a secas :P
Código Por lo cual puedes convertir a enteros con ORD, y luego verificar si es mayor a "z" con CHR Saludos Título: Re: [PYTHON] Como ordenar(sort) un diccionario? Publicado por: Jirp96 en 7 Agosto 2011, 21:16 pm Es cierto, no lo había pensado de esa forma :xD
La duda ya esta resuelta, ya pueden cerrar si quieren :D Saludos! y gracias de vuelta por responder =P Título: Re: [SOLUCIONADO][PYTHON] Como ordenar(sort) un diccionario? Publicado por: cerototal en 10 Junio 2016, 17:35 pm hola, veo que este hilo es antiguo pero he llegado a él consultando la misma duda en algún buscador famoso.
También he dado con un hilo más moderno de otro foro, que resuelve así: import operator miDic={"a":2, "b":3, "d":1, "c":1} resultado = sorted(miDic.items(), key=operator.itemgetter(0)) print resultado [('a', 2), ('b', 3), ('c', 1), ('d', 1)] El caso es que devuelve el resultado como lista (si no lo entiendo mal). Me pregunto si habría manera de que devolviera un nuevo diccionario. |