嘗試使用for 循環對列表的值求和時,可能會遇到IndexError 、類型錯誤或不正確的結果。此錯誤是由於清單索引的錯誤使用而產生的。
請考慮以下程式碼:
<code class="python">def sumAnArray(ar): theSum = 0 for i in ar: theSum = theSum + ar[i] return theSum</code>
這裡,我們打算循環遍歷列表並累積 theSum 中的值。但是,程式碼會觸發 IndexError,因為 i 代表清單的每個元素,而不是其索引。
要正確循環列表並存取其元素,應將程式碼修改為:
<code class="python">def sumAnArray(ar): theSum = 0 for i in ar: theSum = theSum + i return theSum</code>
或者,可以使用範圍來迭代有效的列表索引:
<code class="python">def sumAnArray(ar): theSum = 0 for i in range(len(ar)): theSum = theSum + ar[i] return theSum</code>
這些修改確保i 表示清單中的有效索引,防止IndexError 並能夠正確計算總和。
以上是為什麼在對列表值求和時,我的「for i in ar」迴圈中會出現 IndexError?的詳細內容。更多資訊請關注PHP中文網其他相關文章!