Can be improved as it only needs to check len of found primes after appending a new prime, no need to check otherwise.
More efficient a second count to keep count
from itertools import count def is_prime(number): if number <= 1: return False for i in range(2, number): if number % i == 0: return False; return True def get_primes(n): primes = [] for number in count(): if is_prime(number): primes.append(number) if len(primes) == n: return primes print(get_primes(6))
Output:[2, 3, 5, 7, 11, 13]
More efficient a second count to keep count
from itertools import count def is_prime(number): if number <= 1: return False for i in range(2, number): if number % i == 0: return False; return True def get_primes(n): primes = [] qty_found = count(1) for number in count(): if is_prime(number): primes.append(number) if next(qty_found) == n: return primes print(get_primes(6))
Output:[2, 3, 5, 7, 11, 13]