[pyar] sort en diccionario
Pablo Ziliani
pablo en kultroom.com
Mar Nov 30 18:07:43 ART 2010
On 11/30/2010 05:52 PM, Mario Colque wrote:
> Amigos, como están?
>
> tengo un problema para ordenar un diccionario algo compuesto.
>
> este es mi dic
>
> d = {'a':{'s': 12}, 'b':{'s': 43}, 'c':{'s':564}, 'd':{'s': 23},
> 'e':{'s': 8746}}
>
> y quisiera ordenarlo por el valor de s. Es decir que quede así:
>
> d = {'a':{'s': 12}, 'd':{'s': 23}, 'b':{'s': 43}, 'c':{'s':564},
> 'e':{'s': 8746}}
>
> leí un par de tutoriales y artículos relacionados usando sort() pero
> no consigo hacerlo.
sort opera sobre listas (de hecho es un método de list), los
diccionarios de python no son ordenables, así que jamás conseguirás nada
por ese lado.
Lo que podés hacer es usar otro tipo de datos. Si estás en python 2.7+
podés usar collections.OrderedDict()* si no, vas a tener que crear un
tipo propio o repensar tus necesidades (quizás te alcance con una lista
o un namedtuple). Fijate que al pie del PEP que pongo acá abajo hay
links a varias implementaciones.
* http://www.python.org/dev/peps/pep-0372/
More information about the pyar
mailing list