我使用Python的多处理和map来处理大量的列表 以下是概述
pool = ThreadPool(4)
someList #About 300k elements here
results = pool.map(someMethod,someList)
python是否可以打印报告说处理了10k个元素?
答案 0 :(得分:1)
我理解的映射点是每个元素调用的函数对于每个元素是相同的。但是你可以稍微破解它 - 只需将索引与你的元素一起传递:
someListWithIndices = [{'index': i, 'data': x} for i,x in enumerate(someList)]
现在你需要调整someMethod来使用给定字典中的数据字段,并对提供的新索引做一些事情。
你可能无法获得完全理想的结果(只打印每10k个元素),但如果你想大致知道你所取得的进步,那么这可能就是你要找的东西。