:リストをループしながら編集するのは安全ですか?私のようなforループを実行しようとしていた
a = [1,2,3,4,5,6,7]
for i in range(0, len(a), 1):
if a[i] == 4:
a.remove(a[i])
リストのlength
が短くなるが、イテレータi
が気付いていないので、私はindex error
を持ってしまいます。
私の質問は、どのようにコード化することができますか?現在の配列条件に基づいて、ループの各繰り返しでのi
を更新できますか?
長さが変化し続ける場合、ループはかなり予測できません。それはどこで止まるでしょうか? –
なぜそれをしたいですか?長さが 'range'関数で動的に計算された場合、無限ループに陥るでしょう。 – activatedgeek
あなたのこのループが機能したとしても、それは永遠に実行されます。 –