Code Fix

上級 › イテレート中のリスト変更で要素が飛ばされる › パターン5

イテレート中のリスト変更で要素が飛ばされる

forループでリストを走査しながら同じリストからremove()すると、要素の位置がずれて一部が処理から漏れます。

 1  words = ["aa", "b", "c", "dd"]
 2  for w in ____________:
                   ^
 3      if len(w) == 1:
 4          words.remove(w)
 5  print(words)
出力: ['aa', 'c', 'dd']期待: ['aa', 'dd'] (エラーにはなりません)

空欄を埋めて実行を通す

広告
広告スロット(未設定)

イテレート中のリスト変更で要素が飛ばされる

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)