1
Trim21 Aug 18, 2019 via Android
因为你在循环里把元素给删掉了
在循环前复制一份列表就好了 for i in nums[:]: |
2
ipwx Aug 19, 2019 via Android
for in 循环内部改变循环对象,在有些语言里面你连编译都过不去
|
3
limyel Aug 19, 2019
而且建议代码贴在 ubuntu paste 上面看起来会比较方便一些
|
4
Ctry OP @Trim21 多谢多谢,有点理解了。我删除了第一个元素,等到第二次循环的时候,程序把新列表的第一个元素(也就是旧列表的第二个元素)当作了刚才已经循环过的第一个元素,然后就跳过了。直接循环旧列表的第三个元素。这样的话就一直是间隔一个来循环了。
|
7
guiqiqi Aug 19, 2019 via iPhone @Ctry 无耻安利一波,之前才入门的时候也遇到过这个问题,还做了比较详细的探究,希望对你有帮助: https://init.blog/archives/1350
|
9
Yggdroot Aug 19, 2019
v2ex 不是支持 markdown 吗,代码贴成这样?
|
10
no1xsyzy Aug 19, 2019
把这段用函数式写就不大可能写错
|