在 Python 中,在迭代列表時修改列表可能會導致意外結果。考慮以下程式碼:
此程式碼不是按預期刪除 20 以下的數字,而是列印一個列表,其中缺少 20 以下的所有數字以及 20 本身。
問題源自於這樣一個事實:從清單中刪除一個項目會改變後續項目的位置。隨著循環的進行,正在檢查的項目不再是預期的項目,因為刪除的元素在清單中創建了「洞」。
例如,在初始迭代期間,1 被刪除,但下一次迭代不檢查2;相反,它會檢查 3,因為列表已被縮短。這種行為持續下去,會導致不正確的輸出。
要避免此問題,請在迭代期間使用替代方法更改列表,例如:
這些技術在迭代時不會修改列表的長度,確保正確的項目處理和所需的輸出。
以上是為什麼在迭代期間修改 Python 清單會導致意外結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!