rango de comprensión en Python para bucle

El siguiente programa es encontrar números primos en un rango dado. para la parte de comprensión de la lista de noprimes, ¿por qué tenemos 3 parámetros dentro del rango?

<code>noprimes = [j for i in range(2, 8) for j in range(i*2, 50, i)]
primes = [x for x in range(2, 50) if x not in noprimes]
print prime
</code>

y que hago alli

Respuestas a la pregunta(4)

Su respuesta a la pregunta