python - 对对象列表进行排序并按属性(适应度)值重新索引
问题描述
在遗传算法中,我有一个indis
由类型对象表示的候选解决方案列表(总体)indi
。为了直接进行选择,我想按适应度值对这些个体进行排序。排序后,他们应该有一个新的索引来代表他们的适应度。
indi.getFitness() # Returns the fitness.
indi.setId(index) # sets the index
我最初的方法是不够的,因为它不包括排序:
idx=0
for indi in self.indis:
indi.setId(idx)
idx += 1
问题是:如何按适应度排序并重新索引以使最佳解决方案索引为 0?