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

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


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

Solution:

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容