【发布时间】:2013-08-26 14:05:04
【问题描述】:
在DEAP example(Python框架)中有一段代码:
# Evaluate the entire population
fitnesses = list(map(toolbox.evaluate, pop))
for ind, fit in zip(pop, fitnesses):
ind.fitness.values = fit
为什么他们使用map,然后使用for?为什么不只是:
for ind in pop:
ind.fitness.values = toolbox.evaluate(ind)
【问题讨论】:
-
我能想到的唯一原因是,在分配给任何
ind.fitness.values之前,评估对toolbox.evaluate()的所有调用可能很重要。也许是并发问题?还是分配有副作用? -
可能只是破解代码的剩余部分。也许在旧版本中,有两行之间使用
fitnesses用于不同目的。
标签: python for-loop coding-style iteration