您可以通過使用key
參數的sorted
功能排序的myclass
數組:Python:排序自定義類而不使用`key`參數?
sortedlist = sorted(myclasses, key=lambda obj: obj.myproperty)
有沒有辦法來定義我們班一個自然排序?也許有一些神奇的方法,以便我們不必每次都要傳遞一個密鑰?
例如,
class myclass:
def __init__(self,a,b):
self.key1 = a
self.key2 = b
def __sortkey__(self):
return self.key2
或者,如果我們定義__le__
也許它會自然地工作?
啊。太好了!找不到http://docs.python.org/library/functions.html#sorted – mpen 2012-07-28 23:11:45
請注意'__cmp__'在Python 3中不起作用 – samfrances 2012-07-28 23:20:03