首页 > 解决方案 > 使用 joblib.parallel 更新列表

问题描述

我遇到的问题的简化版本如下:

list_items = [1,2,3,4,5,6]
new_list = []
def F2(i):
    new_list.append(list_items[5-i])
  

现在,如果我使用for循环:

for i in range(6):
    F2(i) 

然后你得到的结果是:[6, 5, 4, 3, 2, 1]

但我需要并行执行此过程。因此我正在使用:

from joblib import Parallel, delayed
a=Parallel(n_jobs=4)(delayed(F2)(i) for i in range(6))
print(a)

但它只会输出一个空列表。我什至尝试使用 numpy 数组进行相同的操作:

new_list = np.zeros(6)

def F2(i):
    new_list[i]=list_items[5-i]

Parallel(n_jobs=4)(delayed(F2)(i) for i in range(6))
print(new_list)

结果是一样的。

我可以知道是否有正确的方法来做这个计算

标签: python

解决方案


推荐阅读