-1

これが私のコードです:

def f(x): return x%2!=0 and x%3!=0

primes = filter(f , range (6,50))

for x in primes:
    for a in filter(f, range(2,x-1)):       
      if x%a == 0:
        primes.remove(x);

print(primes)

次のエラーが表示されます。

File "primes.py", line 12, in <module>
    primes.remove(x);
ValueError: list.remove(x): x not in list

しかし、面白いのは、次のように書く場合です。

def f(x): return x%2!=0 and x%3
primes = filter(f , range (6,20))

for x in primes:
    for a in filter(f, range(2,x-1)): 

            if x%a == 0:
                primes.remove(x);

print(primes)

なんで?どうすれば修正できますか?

4

2 に答える 2