se puede ordenar una serie de myclass
utilizando el argumento key
a la función sorted
:Python: Clasificar clases personalizadas sin el uso del argumento `clave`?
sortedlist = sorted(myclasses, key=lambda obj: obj.myproperty)
¿Hay una manera de definir un orden natural para nuestra clase? ¿Tal vez algún método mágico para que no tengamos que pasar una clave cada vez?
por ejemplo,
class myclass:
def __init__(self,a,b):
self.key1 = a
self.key2 = b
def __sortkey__(self):
return self.key2
O será, naturalmente, trabajar si definimos __le__
tal vez?
Ah. ¡Bonito! No se pudo encontrar en http://docs.python.org/library/functions.html#sorted – mpen
Tenga en cuenta que '__cmp__' no funciona en Python 3 – samfrances