并行添加python中的计数器

时间:2019-05-15 06:18:39

标签: python parallel-processing multiprocessing

有一个要添加的字典列表。

list_of_dictionaries = [{"a":1,"b":2,...},{"a":2,"b":2,...},...]
combined_dictionary = {}

for dictionary in list_of_dictionaries:
   combined_dictionary = Counter(combined_dictionary) + Counter(dictionary)

print(combined_dictionary)

我想使用多核,因为list_of_dictionaries非常大。

有人可以帮我吗?

我已经在线阅读了30多种与多处理相关的解决方案(包括在multiprocessing.pool.process中使用共享字典),但是我没有发现任何可以解决我的问题的解决方案。我希望有人会为此任务提供更相关的链接或一些代码。

谢谢!

杰里

1 个答案:

答案 0 :(得分:0)

如果您想尽可能高效地添加此类词典,那它不会比MapReduce更好。

MapReduce以Google用来以类似于您所描述的方式添加和处理大量数据而闻名。它可以无缝地将工作扩展到多个核心,并且可以用于跨网络中的大量计算机进行工作扩展。


资源: