前提・実現したいこと
pythonのfor文を回すとき、回数が多いと勝手にkillされたり、メモリが足りなくなったりすると思います。
たとえば、3の34乗を計算するとき、
for i in range(3**34):
print(i)
としたときは、MemoryErrorとなってしまいます。
こうした大規模なループを行うにはどうすればいいのでしょうか?
複数回に分けてメモリ解放をすればいいのかと思いましたが、いまいち実装が分かりませんでした。
イテレータというものを使えばいいのでしょうか?(イテレータは内包処理だと考えているのですが、それだとこういう場合に使えるのかわかりません)
ご教授いただければ幸いです。
######追記
もう少し追記させていただきますと、
for i in range(3**34) の書き換えを知りたい、ということになります。
たとえば、
for i in range(int(3**34/2))を2回、前半と後半に分けて繰り返せばうまくいく(うまくいきませんでしたが)
といったようなものです。
お教えいただければ幸いです。

回答2件
あなたの回答
tips
プレビュー