Если L является списком ненулевых чисел, список тех, которые являются факторами числа N, будет:
factors = [x for x in L if N % x == 0]
Список будет просто пустым, если, конечно, N не имеет факторов в L.
Я не уверен, что вы подразумеваете под «числами без факторов», если только вы не имеете в виду «простые числа» (?) - было несколько SO вопросов и ответов по проверке простоты в Python, я бы использовал gmpy.is_prime
(из моего расширения gmpy ), но тогда, конечно, я пристрастен; -).
Если вы имеете в виду, «все числа, которые не имеют множителей в L», ну, их бесконечно много, поэтому довольно сложно составить их список. Неограниченный генератор для них:
import itertools
def nofactorsinlist(L):
for i in itertools.count():
if any(x for x in L if i % x == 0):
continue
yield i
Некоторые оптимизации были бы возможны, но это действительно просто, и я не хочу добавлять сложные оптимизации, не понимая точно, что вы ищете! -)