我有一个类实例列表 -
x = [<iteminstance1>,...]
在其他属性中,该类具有 score
属性。如何根据此参数对项目进行升序排序?
EDIT:python中的list
有一个叫做sort
的东西。我可以在这里使用它吗?如何指示此函数使用我的 score
属性?
最佳答案
除了您接受的解决方案之外,您还可以在类上实现特殊的 __lt__()
(“小于”)方法。 sort()
方法(和 sorted()
函数)将能够比较对象,从而对它们进行排序。但是,当您只根据该属性对它们进行排序时,这种方法效果最好。
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()
关于python - 对类实例列表进行排序 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010322/