理解Python 中的陣列索引
當嘗試使用for 迴圈對清單的值求和時,可能會遇到IndexError 作為錯誤使用數組索引的結果。本文的目的是闡明此類錯誤的根本原因,並提供有關如何糾正這些錯誤的指導。
所提供的程式碼片段中的 for 迴圈正在嘗試使用 ar[ 存取數組 ar 的元素i] 作為其表達式。但是,循環變數 i 表示列表的目前元素,而不是索引。因此,語句 ar[i] 將嘗試存取該特定值的元素,當 i 的值超出陣列邊界時,會導致 IndexError。
要解決此問題,應該使用i 作為陣列的索引。下面修改後的循環修正了此錯誤:
<code class="python">for i in ar: theSum += i</code>
或者,也可以利用Python 的內建函數來獲得更簡潔的程式碼:
<code class="python">theSum = sum(ar)</code>
要明確使用陣列索引,可以使用range() 函數產生有效索引:
<code class="python">for i in range(len(ar)): theSum += ar[i]</code>
透過遵守這些原則,可以避免IndexingErrors 並編寫可靠且高效的Python 程式碼。
以上是為什麼在 Python 中對列表值求和時會出現 IndexError?的詳細內容。更多資訊請關注PHP中文網其他相關文章!