0
私が最後に'0'
を持つ要素を除去することを目的のみ'0'
と、そして私のコードは次のとおりです。なぜforループは、forループ内のリストが変更された後、最初の要素をスキップしますか?
s = ['a0', 'b0', '0', 'c', 'd']
for x in s:
if x[-1] == '0' or x == '0':
s.remove(x)
s #result
['b0', 'c', 'd']
私はデバッグするとき、私はその後、「A0」が除去された後、s
が['b0', '0', 'c', 'd']
なりことがわかりました私が思ったように、xは'b0'
になりますが、それは'0'
になるので、'b0'
をスキップします。その理由とそれを修正する方法が不思議です。