How do I generate list of all prime numbers in Python?



What is the best way to generate prime numbers in python below N.



The fasted way to generate Prime number in Python can be:

import itertools
def erat2( ):
    D = {  }
    yield 2
    for q in itertools.islice(itertools.count(3), 0, None, 2):
        p = D.pop(q, None)
        if p is None:
            D[q*q] = q
            yield q
        else:
            x = p + q
            while x in D or not (x&1):
                x += p
            D[x] = p

so that would give

get_primes_erat(n):
  return list(itertools.takewhile(lambda p: p<n, erat2()))