Pythonで for と list.remove
初歩的な事かもしれませんが、
ちょっとつまづいたので、メモ程度な記録。
for 文と list.remove で予想外の動きでした。
List に値を入れて削除する場合、
range を使うと
>>> list = [0,1,2,3,4,5,6,7,8,9] >>> len = len(list) >>> for i in range(len): ... list.remove(i) ... >>> list []
なので、
これを list だけ使って、
>>> list = [0,1,2,3,4,5,6,7,8,9] >>> for i in list: ... list.remove(i) ...
の結果が、
>>> list
[]
になるかな?と思ったら、
>>> list [1, 3, 5, 7, 9]
でした。
ちょっと予想外…。