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()
的示例。