Как найти количество простых чисел в массиве?
Тут не нужно решето. Надо просто отдельно проверить каждое число на простоту.

Подсказка: Если число не простое, то у него есть простой делитель не больше корня (потому что иначе - есть хотя бы 2 делителя и они оба больше корня и их произведение уже больше самого числа).
Непонятно, откуда у вас MemoryError. Если исходная выборка размещена в памяти,  и ей хватило там места, то на что у вас расходуется память?  Вам ведь не надо запоминать все полученные простые числа. Вы берете их по одному и просто выясняете - простое оно или нет.
Вот со временем -  да, если у вас действительно большие числа и их к тому-же много -  ну тогда переборный алгоритм быстрый не будет. Поэтому ограничение в 1 сек. -  это просто какая-то мягко говоря странность, если не указывать, а какие именно числа в вашей последовательности. Для 1000 чисел, всех лежащих в диапазоне от 0 до 1001 - это одно, а для лежащих в диапазоне от 10**12-1000 до 10**12 - это совсем разное время работы.