Sie können eine Reihe von myclass
sortieren, indem das key
Argument der sorted
Funktion:Python: Sort benutzerdefinierte Klasse ohne Verwendung von `Schlüssel` Argument?
sortedlist = sorted(myclasses, key=lambda obj: obj.myproperty)
Gibt es eine Möglichkeit, eine natürliche Ordnung für unsere Klasse zu definieren? Vielleicht eine magische Methode, damit wir nicht jedes Mal einen Schlüssel eingeben müssen?
z.B.
class myclass:
def __init__(self,a,b):
self.key1 = a
self.key2 = b
def __sortkey__(self):
return self.key2
Oder wird es natürlich funktionieren, wenn wir __le__
vielleicht definieren?
Ah. Nett! Konnte es nicht finden unter http://docs.python.org/library/functions.html#sorted – mpen
Beachten Sie, dass '__cmp__' funktioniert nicht in Python 3 – samfrances