Проблема в том, что у вас есть return True
в цикле for.
def prime(n):
for i in range(2, n):
if n % i == 0:
return False
return True
primes = list(filter(prime, range(2, 20)))
print(primes)
Вам не нужно иметь понимание списка, чтобы отфильтровать элементы, вместо этого используйте filter(prime, range(2, 20))
.