Вот интересный метод генерации простых чисел (но не самый эффективный) с использованием списков python:
noprimes = [j for i in range(2, 8) for j in range(i*2, 50, i)]
primes = [x for x in range(2, 50) if x not in noprimes]
Здесь вы можете найти пример и некоторые объяснения здесь