Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 这段简单的代码有什么问题?_Python_Python 3.x - Fatal编程技术网

Python 这段简单的代码有什么问题?

Python 这段简单的代码有什么问题?,python,python-3.x,Python,Python 3.x,Python 3.4中的代码有什么问题;我已经将原始输入切换到了输入 它说的是无效的语法。我在Python2.7中编写了一个类似的程序,效果很好。我刚刚开始学习python,但我真的不知道如何让错误消息持续的时间超过一个flash 我要试试看。它并没有删除你期望它删除的所有项目,对吗 这是因为您在迭代列表时正在修改列表。删除项目时,它会向下移动所有剩余的项目。然后进入下一项。基本上,每次删除一个项目时,都会跳过下一个项目 最简单的解决方案可能是构建一个包含要保留的项的新列表,或者将切片分配回原始

Python 3.4中的代码有什么问题;我已经将原始输入切换到了输入


它说的是无效的语法。我在Python2.7中编写了一个类似的程序,效果很好。我刚刚开始学习python,但我真的不知道如何让错误消息持续的时间超过一个flash

我要试试看。它并没有删除你期望它删除的所有项目,对吗

这是因为您在迭代列表时正在修改列表。删除项目时,它会向下移动所有剩余的项目。然后进入下一项。基本上,每次删除一个项目时,都会跳过下一个项目

最简单的解决方案可能是构建一个包含要保留的项的新列表,或者将切片分配回原始列表

def purify(lst):    
    for n in lst:
        if  n%2==1 :
            lst.remove(n)
    return lst

print (purify([2,3]))
input()

你有什么问题吗?具体点。你希望它做什么,发生了什么?这行有一个打字错误:print purify[2,3]]2 closing square brackets为什么我复制它时不知道y,它添加了一个额外的方括号。这不是问题所在。你发布的代码是有效的语法,除非你在缩进中混淆了空格和制表符。Python2允许您混合使用它们,但Python3将给出一个TabError。
def purify(lst):
    print([n for n in lst if n % 2 == 0])