誰かがこの素ふるいを通して一行ずつ私を案内してくれませんか? 私は独自のふるいを開発しようとしていますが、高速なもののほとんどには、理解できない構文が含まれています (コメントした行など)。これが一種の初心者の質問である場合は申し訳ありません。また、ふるいの書き込みに役立つリンクがあれば、大歓迎です。
def rwh_primes1(n):
""" Returns a list of primes < n """
sieve = [True] * (n/2) # What does the '[True]' mean?
for i in xrange(3,int(n**0.5)+1,2):
if sieve[i/2]: # The same complaint as in line 3, I don't understand the variable 'sieve'
sieve[i*i/2::i] = [False] * ((n-i*i-1)/(2*i)+1) # how is sieve used here - it seems to be as a list but i'm unsure
return [2] + [2*i+1 for i in xrange(1,n/2) if sieve[i]] # 'sieve' is confusing me here yet again.