0
我已经编写了一个代码来使素数达到列表中的某个限制。 如上所示。Python,从列表中删除嵌套循环下的元素
import math
primes = []
for i in range(1, 101):
primes.append(i)
primes.remove(10) # Just removing for sake of experiment
tot = math.sqrt(len(primes))
for j in range(2, math.ceil(tot), 1):
for l in range(0, len(primes)):
k = j**2 + l*j
primes.remove(k)
primes.remove(12) # Just removing for sake of experiment
print(primes)
此代码在嵌套循环中删除元素时显示错误。 错误如上所示。
Traceback (most recent call last):
File "/root/PycharmProjects/love/love.py", line 13, in <module>
primes.remove(k)
ValueError: list.remove(x): x not in list
这究竟是为什么,因为这代码为能够删除元素,它不是在嵌套循环,但无法除去正处于嵌套循环中移除的元素。
有没有其他解决方案来解决这个问题?