我正在使用Python的多处理和map来处理大量的列表 这是概述
池 = 线程池(4)
someList #这里大约有300k个元素
结果 = pool.map(someMethod,someList)
Python 是否可以打印出处理 10k 个元素的报告?
最佳答案
据我了解,映射的要点是为每个元素调用的函数对于每个元素都是相同的。不过你可以稍微修改一下 - 只需将索引与你的元素一起传递即可:
someListWithIndices = [{'index': i, 'data': x} for i,x in enumerate(someList)]
现在您需要调整 someMethod 以使用给定字典中的数据字段并对提供的新索引执行一些操作。
您可能不会完全得到您想要的结果(精确地每 10k 个元素打印一次),但如果您想粗略地了解您所取得的进展,这可能就是您正在寻找的东西。
关于python - 了解 Pool 中已完成多少任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27421425/