17/04/02 19:09:17.62 f3S3avyq.net
>>772
for文の反復元となるnをループ内で操作しているから。
まず1回目のループでif条件に従い、0(0番目の要素)が削除される、すると1が0番目、2が1番目の要素に繰り上がる
2回目のループでfor文は1番目の要素を取り出すが、前回のループで各要素が繰り上がっており、1ではなく2が取り出される
解決策は配列を全スライス([:])でコピーするとか、条件のを削除ではなく
条件ではないのをfilter()とか新規配列に追加とかかな?(削除はコストも高い