Я играю с Project Euler, и у меня есть файл, полный простых чисел.
У меня есть функция, которая просматривает эти простые числа и вынимает основные факторы.Выражение, которое я использую, выглядит следующим образом:
def prime_factors(n, fastfactor=True):
if fastfactor:
with open(primefile, 'r') as primelist:
primes = [int(x.strip()) for x in primelist if int(x.strip()) <= n and n % int(x.strip()) == 0]
return primes
Код работает нормально, однако я хотел упростить выражение списка до следующего вида:
[x for int(x.strip()) in primelist if x <= n and n % x == 0]
Однако я ничего не могу понятьупростить и прояснить это выражение.