[Python-ml-jp 820] リストとremove

Akira Fuyuno akr @ sc.xdsl.ne.jp
2001年 11月 12日 (月) 17:35:23 JST


レベルの低い質問なのですが

list = [1,2,3,4,5]
for i in list:
    if i==3:
        list.remove(i)
    else:
        print i

のようにすると結果は
1
2
5
となります。
list.remove(i)としたあと
i が 4 を指しているようで次の for ループのカウンタを1つ進めると
i が 5 を指してしまうので、i = 4 の処理が飛ばされてしまいます。

どのように対処すればよいのでしょうか。
この書き方自体間違っているのでしょうか。

アドバイスをお願いします。
-- 
Akira Fuyuno <akr @ sc.xdsl.ne.jp>





Python-ml-jp メーリングリストの案内