【发布时间】:2014-10-17 08:04:42
【问题描述】:
我正在尝试制作一个遗传算法,为了收集适应度函数的值,我制作了一个类对,这样我就可以使用 lambda 函数进行排序。这个类很简单,就是这样:
class Par(object):
def __init__(self,cromosoma,valoracion):
self.cromosoma=cromosoma
self.valoracion=valoracion
def __str__(self):
return ("Cromosoma: {0}\nTiene valoracion: {1}".format(self.cromosoma,self.valoracion))
def __repr__(self):
return ("Cromosoma: {0}\nTiene valoracion: {1}".format(self.cromosoma,self.valoracion))
所以在我用这个对染色体列表进行排序之后:
poblacionOrdenada=sorted(evaluacion, key=lambda par: par.valoracion, reverse=False)
我想选择 50% 最好的,但我想提取的功能只是染色体而不是配对对象。那么我怎样才能得到一个没有for的染色体列表呢?也许还有另一个 lambda 函数?
我不想使用 for,因为我必须在不同的功能中选择多次。
【问题讨论】:
标签: python python-3.x genetic-algorithm