Python 使用内联循环作为多处理池回调
我有一个列表,我想用池结果填充列表。由于回调语法,我的代码当前不正确:Python 使用内联循环作为多处理池回调,python,python-multiprocessing,Python,Python Multiprocessing,我有一个列表,我想用池结果填充列表。由于回调语法,我的代码当前不正确: finalData = [[],[],[]] pool = mp.Pool() pool.apply_async(findData, args=(x), callback= for i,val in enumerate(result): finalData[i].append(val) ) pool.close() pool.join() findData的结果格式如下: results = [[1],[2],[3]]
finalData = [[],[],[]]
pool = mp.Pool()
pool.apply_async(findData, args=(x), callback= for i,val in enumerate(result): finalData[i].append(val) )
pool.close()
pool.join()
findData的结果格式如下:
results = [[1],[2],[3]]
为什么我不能使用for循环内联作为回调来获得这些期望的结果:
finalData = [[1],[2],[3]]
我试图避免使用finalData作为全局变量编写回调函数。我可以问一下为什么吗?回调函数实际上似乎最合适,因为它不是一个函数,所以它不起作用。。。现在,您可以创建一个
lambda
,但这将推动它。。。只需自己处理返回,而不是等待回调-您可以在中看到使用apply\u async()
的示例。