a = [0,1,2,3,4,5]
for b in a:
print ":"+str(b)
a.pop(0)
これがリスト全体とそのすべての項目を順番に処理すると考えて、このコードを実行し、これを期待しました。
:0
0
:1
1
:2
2
:3
3
:4
4
:5
5
代わりに私はこれを得ました:
:0
0
:2
1
:4
2
なぜこれが起こったのか理解できましたが、これはpythonのエラーですか?現在のリストの長さではなく、元のオブジェクトをすべて通過するべきではありませんか? そして、なぜこれは範囲外のエラーをスローしなかったのですか? IE: まだやるべきではなかった:
:0
0
:1
2
:2
4
:3
Error
:4
Error
:5
Error