2014-03-05 59 views
0

说我有一本字典的理解,看起来像并行化Python中的字典解析

grid = {z: g for (z,g) in grid.iteritems() if abs(next(g)) < 2} 

什么是并行此操作的最Python的方式? python实现会默认并行化这个吗?我将不得不求助于使用多处理模块之类的功能,而不是理解?

回答

0

我会用multiprocessing.Pool,在python3.3

实施例,带有方块字典高达10000:

>>> import multiprocessing 
>>> def square(num): 
...  return num**2 
... 
>>> with multiprocessing.Pool(processes=multiprocessing.cpu_count()) as executor: 
...  print({num:sqr for num, sqr in zip(range(1,10001), executor.map(square, range(1,10001)))})