Foros del Web » Programando para Internet » Python »

Ordenando una lista de diccionarios

Estas en el tema de Ordenando una lista de diccionarios en el foro de Python en Foros del Web. Tengo una lista de diccionarios asi lista = [{'nombre': valor}, {'nombre2': valor}, {'nombre3': valor},.... ] Necesito ordenarla por valor de los diccionarios llevo rompiendome la ...
  #1 (permalink)  
Antiguo 04/01/2017, 13:35
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 125
Antigüedad: 2 años, 6 meses
Puntos: 0
Ordenando una lista de diccionarios

Tengo una lista de diccionarios asi

lista = [{'nombre': valor}, {'nombre2': valor}, {'nombre3': valor},.... ]

Necesito ordenarla por valor de los diccionarios

llevo rompiendome la cabeza tratando de usar sort y googleando pero no encuentro la forma de ordenarlo
  #2 (permalink)  
Antiguo 15/02/2017, 12:19
Avatar de iukaeru  
Fecha de Ingreso: mayo-2012
Mensajes: 126
Antigüedad: 4 años, 9 meses
Puntos: 12
Respuesta: Ordenando una lista de diccionarios

No lo vas a lograr "per se" puesto que en Python los diccionarios NO pueden ser ordenados. Ahora, introduciéndolos a un "array" ¿De dónde vas a tomar el dato para realizar un "sort"?

El resultado tan solo sería por la posición asignada en el "array".

Una alternativa podría ser, asociar dicha posición con un número ó nombre en un "array" separado y luego realizar dicha asociación entre los dos.
__________________
¡Atencion, Peligro: Autodidacta opinando como si supiera!

Última edición por iukaeru; 15/02/2017 a las 12:24 Razón: ...leyendo más pausadamente...
  #3 (permalink)  
Antiguo 15/02/2017, 12:49
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 125
Antigüedad: 2 años, 6 meses
Puntos: 0
Respuesta: Ordenando una lista de diccionarios

Mi idea es la siguiente:

tengo varios diccionarios representando objetos de datos asi
Código Python:
Ver original
  1. {'fecha':'11-11-2017', 'valor': 100}

Y tengo una lista de esos diccionarios, quiero ordenar la lista por fecha o valor
  #4 (permalink)  
Antiguo 15/02/2017, 13:27
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 9.925
Antigüedad: 8 años, 11 meses
Puntos: 1306
Respuesta: Ordenando una lista de diccionarios

Primer resultado de google:

http://stackoverflow.com/questions/7...nary-in-python

En resumen puedes usar el parametro key en la función sorted:

Código Python:
Ver original
  1. sorted(lisa, key=lambda k: k['valor'])

Saludos
__________________
Grupo Telegram Docker en Español



La zona horaria es GMT -6. Ahora son las 06:54.