我正在使用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/