I am looking for any suggestions on optimizing my prime number generator. Could you please include the correction and a little comment on why it will be faster in your response.
def primeList ( highestNumber ):
""" This function takes a integer and returns a list of all primes less than or equal to that integer"""
numbers = range( 2, highestNumber + 1 ) # creates an inclusive list of all numbers between 2 and highestNumber
isPrime = [ True ] * len( numbers ) # each element corresponds to an element in numbers and keeps track of whether or not it is prime
primes = [] # Where I'll build a list of prime numbers
for i in range( len( numbers ) ):
if ( isPrime[i] == True ):
increment = numbers[i]
position = i + increment
primes.append( numbers[ i ] )
while ( position < len( numbers )): # will only execute if the above if statement is true because position will still be greater than len( number )
isPrime[position] = False # Sets an element of isPrime to False if it is a multiple of a lower number
position += increment
return primes