将多个参数和可迭代对象传递给Python的multiprocessing.Pool.map

时间:2019-05-09 03:55:27

标签: python

我已经阅读了许多有关将多个参数传递或将可迭代对象传递给Python的multiprocessing.Pool.map的文章,但是这些似乎都没有讨论最一般的情况,即传递多个参数和多个可迭代对象。在代码中,它应类似于:

import multiprocessing as mp

with mp.Pool() as pool:
    pool.map(func, args=(), iterables=()) # passing multiple args and iterables

我该如何实现?

1 个答案:

答案 0 :(得分:0)

使用Pool.map()和相关函数时,辅助函数必须采用一个值:一项工作。如果一项工作必须包含多个值,请创建一个适当的数据结构来保存它们(例如,元组,列表,字典或用户定义类的实例)。

类似地,Pool.map()处理单个可迭代对象。但是,可迭代项可以通过各种方式链接,压缩或组合。有关示例,请参见itertools软件包。