在練習迴圈刪除list中元素時遇到了一點問題。最開始寫的代碼是 for i in range(len(list)): del list[i] 這樣寫到後來會報錯,原因是隨著列表元素的刪除和i的增加,對列表元素的訪問會越界。 後來改成瞭如下代碼 while i < len(list): del lis ...
在練習迴圈刪除list中元素時遇到了一點問題。最開始寫的代碼是
for i in range(len(list)): del list[i]
這樣寫到後來會報錯,原因是隨著列表元素的刪除和i的增加,對列表元素的訪問會越界。
後來改成瞭如下代碼
while i < len(list): del list1[i]
結果順利執行了,想必原因是每一次對while的條件進行判斷時都會重新計算list的長度,但是在for語句當中,只執行了一次range。