Может ли кто-нибудь пройти меня по линии этого сима? Я пытаюсь разработать собственное сито, но большинство более быстрых содержат синтаксис, который я не понимаю (например, строки, на которых я комментировал). Извините, если это своего рода вопрос новичков - также если у вас есть какие-либо ссылки, которые могли бы помочь мне с ситовым письмом, они были бы весьма признательны.Неспособность понять синтаксис простого сита
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.