How to generate a list of prime numbers using the sieve of Eratosthenes algorithm in Python

1 Answer

0 votes
no_prime_numbers = [j for i in range(2, 8) for j in range(i * 2, 50, i)]

prime_list = [n for n in range(2, 50) if n not in no_prime_numbers]

print("no_prime_numbers: ", no_prime_numbers)
print("prime_list: ", prime_list)


'''
run:

no_prime_numbers:  [4,  6,  8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
                   42, 44, 46, 48,  6,  9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48,
                    8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 10, 15, 20, 25, 30, 35, 40, 45,
                   12, 18, 24, 30, 36, 42, 48, 14, 21, 28, 35, 42, 49]

prime_list:  [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

'''

 



answered Jan 16, 2018 by avibootz
...