0
爲我在Python3的最後一個項目,我用一個自定義懶惰生成器來生成我的數據。然後使用Pool(多處理)中的imap。 所以在這一點上,沒有任何計算。 下一步是在文件上輸出計算的數據。 爲此,我要麼print(list(data))
要麼是print(*data)
,這會導致計算整個數據(現在大約1.5Gib,位將快速增長),要麼執行for
循環並打印每個數據片段,這些數據需要大量的調用打印(現在約10e6電話,但會快速增長)。Python3,一個懶惰的打印
那麼,有沒有辦法讓print
遍歷一個懶惰的生成器?
謝謝。
只需要調用'print'在一個循環。我相信函數調用的開銷將是您最擔心的問題。 – Zulan
如果'g'是一個生成器,那麼'g:print(item)'*中的item的代碼就是*代碼,它通過一個惰性生成器迭代'print'。 –
這是主要的領導,但我不覺得它_nice_。因此,如果沖洗=假,這可能是最有效的解決方案。 – Paul