pytho--remove関数は0を削除して、削除しきれません


また2級ブラシの問題です.pythonはやっとテストの1章を学んで、今日はブラシの問題の初日で、あさっての試験はははははは、私は料理も勉強しない感じ...さっきこの問題をブラシしました:
dat=['1','2','3','0','0','0']
for item in dat:
	if item=='0':
		dat.remove(item)
print(dat)

>>>['1', '2', '3', '0']

なぜ0が削除できないのか…Answer:forループの問題です.forループは実際にループのリストの下付き文字(インデックス)なので、リストの可変性のため、1つの要素を削除するたびに、リストの長さが変化し、要素のインデックスも変化します.1番目の0を削除する前に:[‘1’,‘2’,‘3’,‘0’,‘0’,‘0’,‘0’]を削除し,1番目の0の下に3を削除した0のリストが,[‘1’,‘2’,‘3’,‘0’,‘0’]に変わり,このときforは4を下にループし,0を見つけ,前の0を削除しても変化しない.