python - 映射,然后迭代 - 为什么?

标签 python for-loop coding-style iteration

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)

最佳答案

我是 DEAP 开发者之一。

我们使用映射,以便通过用并行映射替换映射来轻松并行化评估。

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

关于python - 映射,然后迭代 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18404215/

相关文章:

python - 有没有比 cv2.videocapture 不同的方法来检查相机状态?

python - 如何使用 apply、map 或 applymap 在 pandas dataframe 中查找每一行和列数据类型?

swift - for循环条件是否评估了Swift中的每个循环?

java - 为清楚起见命名集合扩展

objective-c - 使用 Objective-C block

c++ - 我们什么时候需要在#undef 之前使用#ifdef?

python - 将以下 PhotoImage 代码行减少到尽可能少的行数

python 错误?等效函数 - 一个变量溢出但另一个不溢出

PHP for 循环逻辑(有心理障碍)

JavaScript Prime 检查器不工作