gpt4 book ai didi

python - 按成员在类中的属性排序

转载 作者:太空宇宙 更新时间:2023-11-04 10:49:06 25 4
gpt4 key购买 nike

我正在研究遗传算法问题。假设我有一个 Population() 类,它有一个 Individual() 列表。每个人都有一个与之相关的分数。根据他们在人群中的分数对这些人进行排序/排名的好方法是什么?例如:

class Individual(object):
rr = 100
def __init__(self):
self.score = random.randrange(self.rr)

class Population(object):
def __init__(self, size):
self.size = size
self.population = [Individual() for _ in xrange(self.size)]

pop = Population(5)
for i in xrange(pop.size):
print pop.population[i].score

是否有一种 Pythonic 的方法可以根据他们的分数对这些人进行排序?谢谢!

最佳答案

当然,使用 .sort() 方法的 key 参数:

from operator import attrgetter
pop.population.sort(key=attrgetter('score'))

使用 operator.attrgetter()使这更容易一些,但不是必需的。

参见 Sorting Howto在 Python wiki 上获取更多提示和技巧。

关于python - 按成员在类中的属性排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15167684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com