上級 › イテレート中のリスト変更で要素が飛ばされる › パターン3
イテレート中のリスト変更で要素が飛ばされる
forループでリストを走査しながら同じリストからremove()すると、要素の位置がずれて一部が処理から漏れます。
1 scores = [0, 0, 5, 10] 2 for s in _____________: ^ 3 if s == 0: 4 scores.remove(s) 5 print(scores)
出力: [0, 5, 10]期待: [5, 10] (エラーにはなりません)
空欄を埋めて実行を通す
0点を除外するつもりが1つ残ってしまう典型例です。件数が多いデータほど発覚が遅れます。
次の問題