美文网首页
为什么python中不建议在for循环中修改列表?

为什么python中不建议在for循环中修改列表?

作者: W_I_S_E | 来源:发表于2017-02-07 11:13 被阅读0次

    在写pythonChallenge第13题时,在for循环中修改了本身进行迭代的列表,造成了与预期不符的结果。


    先写结论:由于在遍历的过程中,删除了其中一个元素,导致后面的元素整体前移,故有个元素成了漏网之鱼。同样的,在遍历过程中,使用插入操作,也会导致类似的错误。这也就是问题里说的无法“跟踪”元素

    Solution:

    i = 0
    while i < len(a):
        if a[i] == 4:
            del a[i]
        else:
            i += 1
    

    来自知乎解答:为什么python中不建议在for循环中修改列表?

    相关文章

      网友评论

          本文标题:为什么python中不建议在for循环中修改列表?

          本文链接:https://www.haomeiwen.com/subject/ybvsbttx.html