我正在使用Python的map多重处理来处理大量列表
这里是概述

pool = ThreadPool(4)someList #About 300k elements hereresults = pool.map(someMethod,someList)

python是否可以打印出报告的数据,说明已处理了1万个元素?

最佳答案

据我了解,映射的要点是,每个元素调用的函数对于每个元素都是相同的。但是,您可以稍微修改一下-只需将索引和元素一起传递即可:

someListWithIndices = [{'index': i, 'data': x} for i,x in enumerate(someList)]


现在,您需要调整someMethod以使用给定字典中的数据字段,并对提供的新索引进行一些操作。

您可能不会完全得到所需的结果(每10k个元素仅打印一次),但是如果您想大致了解要取得的进展,这可能就是您想要的。

关于python - 知道池中已完成多少任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27421425/

10-08 21:38