Simple prime numbers generator >>> [prime for prime, index in zip(primes(), range(10))] [1, 2, 3, 5, 7, 11, 13, 17, 19, 23]
()
| 9 | import itertools |
| 10 | |
| 11 | def primes(): |
| 12 | """Simple prime numbers generator |
| 13 | |
| 14 | >>> [prime for prime, index in zip(primes(), range(10))] |
| 15 | [1, 2, 3, 5, 7, 11, 13, 17, 19, 23] |
| 16 | """ |
| 17 | yield 1 |
| 18 | primes = [] |
| 19 | for n in itertools.count(2): |
| 20 | if not any(n % p == 0 for p in primes): |
| 21 | # No divisor found among previous primes |
| 22 | yield n |
| 23 | primes.append(n) |
| 24 | |
| 25 | if __name__ == "__main__": |
| 26 | import doctest |