Re: Ordenar diccionario segú n valores.

Victor Peinado vitojph en gmail.com
Jue Oct 21 22:47:02 CEST 2004


On Thu, 21 Oct 2004 15:43:17 -0300, Batista, Facundo <fbatista
unifon.com.ar> wrote:
> [Victor Peinado]

> Un diccionario, por definición, no tiene órden (por lo tanto no lo puedes
> ordenar generando otro diccionario):

Ya, ya lo sé. En realidad lo que hacía era ordenar las claves del
nuevo diccionario y recorrerlo. Un poco raro, lo sé :-)

> Lo que tienes que hacer es generar una lista con los valores del
> diccionario:
> 
> >>> l = d.items()
> >>> l
> [('a', 3), ('c', 5), ('b', 7)]
> 
> y luego ordenar por lo que te interese:
> 
> >>> l.sort()
> >>> l
> [('a', 3), ('b', 7), ('c', 5)]
> >>> l.sort(key=lambda x: x[1])
> >>> l
> [('a', 3), ('c', 5), ('b', 7)]

Al final lo que estba ordenando era tuplas de este tipo, pero haciendo
el tonto con un diccionario en lugar de hacerlo en una lista
directamente. Muchas gracias por la explicación.

Saludos.



-- 
Víctor Peinado || <vitojph /> || http://ieqo.org/blog




Más información sobre la lista de distribución Python-es