【发布时间】:2017-06-22 12:39:25
【问题描述】:
我有一个字符串列表,我想将这些列表元素存储到适当的存储桶中。
def bucketElements(i):
global buckA, buckB, buckC
if i.startswith('A'):
buckA.add(i)
elif i.startswith('B'):
buckB.add(i)
elif i.startswith('C'):
buckC.add(i)
现在我想为列表中的每个元素并行调用此方法。像这样的,
buckA,buckB, buckC = set(), set(), set()
pool = multiprocessing.Pool(processes=10)
pool.map(bucketElements, buckList)
由于我在函数内部更新全局变量,因此无法使用多处理。无论如何我可以改进我的处理吗?目前我是这样称呼的,
buckA,buckB, buckC = set(), set(), set()
for i in buckList:
bucketElements(i)
【问题讨论】:
-
buckList的内容是什么? -
对不起,我提到的整数列表不好,它实际上是字符串列表 buckList = ['Adasdas', 'Asdsd', 'Xsadsad', 'Ssdsd', 'Bdasdsds']
标签: python multithreading python-2.7 python-multiprocessing