映射,然后迭代为什么?

2024-04-25 05:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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)

Tags: 代码in框架mapforexampletoolboxpop
1条回答
网友
1楼 · 发布于 2024-04-25 05:00:48

我是DEAP开发者之一。你知道吗

我们使用map,这样我们就可以通过用一个并行map替换map来轻松地并行化求值。你知道吗

在后面的示例中,我们使用一个工具箱,其中注册了一个映射(__buitins__.map),可以用multiprocessing.Pool.mapscoop.futures.map替换。您可以查看文档以了解如何分发评估here

相关问题 更多 >