我想追加列表 Python 并行处理。我编写代码如下:
from joblib import Parallel
from multiprocessing.managers import BaseManager
manager = multiprocessing.Manager()
inputs = enumerate(my_list)
lproxy = manager.list()
d = lproxy
d.append([]) #init empty list
num_cores = multiprocessing.cpu_count()
_ = Parallel(n_jobs=num_cores)(d[0].append(word) for idx, word in inputs)
然后我的并行作业返回 'NoneType' 对象是不可迭代的。在上述情况下如何附加到列表?在第二个示例中,我测试 Parallel 如下:
from joblib import Parallel, delayed
def process(word) :
print(word)
results = Parallel(n_jobs=num_cores)(delayed(process(word)) for idx, word in inputs)
并且这个返回“函数”对象是不可迭代的。这个函数是否必须以某种方式特别编写?
并行追加到列表的神的做法是什么?