リストのすべての要素をインデックス4から9に削除します。 以下のコードが動作しないのはなぜですか?Pythonで範囲を使用して削除する
m=[0,1,2,3,4,5,6,7,8,9]
for i in range(4,10,1):
del m[i]
出力である:
Traceback (most recent call last):
File "<pyshell#45>", line 2, in <module>
del m[i]
IndexError: list assignment index out of range
しかし、この後のMの内容は `なる[0、1、2、3、5、7、9]
要素4を削除すると、すべての上位要素が下に移動してギャップを埋めることができます。したがって、削除する次のインデックスは1つだけオフになります。別の要素を削除するたびに、オフセットを増やして間違った要素を削除しています。 – khelwood
[forループのリスト要素をPythonで削除するにはどうすればいいですか?](https://stackoverflow.com/questions/10665591/how-to-remove-list-elements-in-a-for-loopin -python) –