Skip to main content
 首页 » 编程设计

python之如何根据对象都持有的变量对对象集合进行排序

2025年05月04日27haluo1

我有一个名为 Individual 的类,它有一个变量 self.fitness。我收集了这些 Individual 实例,我想根据它们的适用性对它们进行排序。这是如何在 python 中完成的?

请您参考如下方法:

from operator import attrgetter 
sorted(item_list, key=attrgetter('fitness')) 

item_list 可以是任何可迭代的。这是一个例子

>>> class C(object): 
...     def __init__(self, fitness): 
...         self.fitness=fitness 
...     def __repr__(self): 
...         return "fitness: %s"%self.fitness 
...  
>>>  
>>> from operator import attrgetter 
>>> L=[C(10),C(4),C(1),C(99)] 
>>> sorted(L, key=attrgetter('fitness')) 
[fitness: 1, fitness: 4, fitness: 10, fitness: 99] 
>>> S=set(L) 
>>> sorted(S, key=attrgetter('fitness')) 
[fitness: 1, fitness: 4, fitness: 10, fitness: 99]