sorting类实例的列表Python

我有一个类实例的列表 –

x = [<iteminstance1>,...] 

除了其他属性之外,该类还有score属性。 如何根据此参数以升序排列项目?

编辑 :在Python中的list有所谓的sort 。 我可以在这里使用吗? 我如何直接使用此function来使用我的score属性?

 import operator sorted_x = sorted(x, key=operator.attrgetter('score')) 

如果您想在原地sortingx,您还可以:

 x.sort(key=operator.attrgetter('score')) 

除了您接受的解决scheme之外,还可以在类上实现特殊的__lt__() (“less than”)方法。 sort()方法(和sorted()函数)将能够比较对象,从而对它们进行sorting。 但是,只有在对这个属性进行sorting时,这才是最好的。

 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()