>>> from multiprocessing import Pool
>>> def f(x, y):
... return x*y
>>> p = Pool(3)
>>> p.map(f, [1,2,3], [4,5,6])
我看错了TypeError: unorderable types: list() <= int()
如何将Pool
与2个列表一起使用?
答案 0 :(得分:2)
问题在于map
函数而不是Pool
对象。对于这种情况,starmap
将是一个不错的选择:
p.starmap(f, zip([1,2,3], [4,5,6]))
从python 3.3 starmap
添加到Pool
对象
答案 1 :(得分:0)
我真的不明白你想如何订购你的参数,但我的想法是有一个元组列表,因为你的函数需要2个参数,所以像这样:
p.map(f, [(1, 4), (2, 5), (3, 6)])
并使f取一个元组作为参数
def f(t):
return t[0] * t[1]