それで、私は今夜、エラトステネスのふるいに基づいてこのプライムジェネレーターを組み立てる作業に費やしました. コードは次のとおりです。
n = input("What number do you want to calculate to? ")
import time
start = time.time()
def pr(l):
ln = l+1
p = range(2, ln)
for k in p:
f = range(k, ln, k)
for f in f[1:]:
if f in p:
p.remove(f)
return p
print pr(n)
end = time.time() - start
print "This took: ",end
私がやりたいことは、それを少しスピードアップすることだと思います。p.remove(f)
関数を次のように変更すると速度が上がると確信していますp[f] = 0
が、うまくいきません。私が間違っていることを誰かが知っていますか?それとも、これを行うにはさらに速い方法がありますか?