def purify(lst):
for n in lst:
if n%2==1 :
lst.remove(n)
return lst
print (purify([2,3]))
input()
Python 3.4中的代码有什么问题;我已经将raw_input
切换为输入?
它说语法无效。我在python 2.7中写了一个类似的,它工作得很好。我刚开始学习python而且我真的不知道如何让错误消息的持续时间超过闪存。
答案 0 :(得分:1)
这是因为您在迭代时修改了列表。删除项目时,会将所有剩余项目向下移动。然后你去下一个项目。基本上,每次删除项目时,跳过下一个项目。
最直接的解决方案可能是构建一个包含您要保留的项目的新列表(或将切片分配回原始列表)。
struct