ver - python ordenar tuplas
Ordenar una lista de instancias de clase Python (2)
Además de la solución que usted aceptó, también podría implementar el __lt__() especial __lt__() ("menor que") en la clase. El método sort() (y la función sorted() ) podrán comparar los objetos y, por lo tanto, ordenarlos. Sin embargo, esto funciona mejor cuando solo los ordena en este atributo.
class Foo(object):
def __init__(self, score):
self.score = score
def __lt__(self, other):
return self.score < other.score
l = [Foo(3), Foo(1), Foo(2)]
l.sort()
Esta pregunta ya tiene una respuesta aquí:
Tengo una lista de instancias de clase -
x = [<iteminstance1>,...]
entre otros atributos, la clase tiene un atributo de score . ¿Cómo puedo ordenar los artículos en orden ascendente según este parámetro?
EDITAR : La list en python tiene algo llamado sort . ¿Podría usar esto aquí? ¿Cómo dirijo esta función para usar mi atributo de score ?
import operator
sorted_x = sorted(x, key=operator.attrgetter(''score''))
si desea ordenar x in situ, también puede:
x.sort(key=operator.attrgetter(''score''))