如何在Python中使用并行处理过滤器?

5 python parallel-processing

我知道在Python中,map相当于pool.map来自multiprocessing模块的并行处理类。filterPython 的并行编程中有等效的吗?

Dan*_*ilo 4

Python 拥有大多数必要的面向函数的编程范例。例如mapfilterreduce 您可以在这里找到

话虽如此,多处理不支持filter,因为 lambda 默认情况下不可 pickle。
但是您始终可以使用上面提到的函数来实现自己的函数,或者使用迭代器、生成器或列表理解以适合您的方式重现它们。

来自 sagemath 的示例之一是:

def pool_filter(pool, func, candidates):
    return [c for c, keep in zip(candidates, pool.map(func, candidates)) if keep]
Run Code Online (Sandbox Code Playgroud)

但这进一步取决于您的实施。