–很抱歉之前上传了一个错误的方法,后来自己检查发现是错的。以下是我花了半个小时写的,真的对不起之前的那些看了我的博文的同行,
def zhishu(List):
for i in List: # 遍历列表
for j in range(2, int(i/2)): # 这里是判断这个数能不能给除了1和本身以外的数整除,
#刚开始的时候我是遍历到本身,但是只要遍历到本身的一半时候结果已经出来了,在进行下去只是浪费时间,这就是代码的优化过程
if i % j == 0:
List.remove(i)
break
return List
2020/6/07补充:该方法的时间复杂度为O(nlogn),空间复杂度为O(1)