首頁 >後端開發 >Python教學 >為什麼在對列表值求和時,我的「for i in ar」迴圈中會出現 IndexError?

為什麼在對列表值求和時,我的「for i in ar」迴圈中會出現 IndexError?

Linda Hamilton
Linda Hamilton原創
2024-11-03 13:44:02967瀏覽

Why Do I Get an IndexError in My

「for i in ar」循環中的IndexError:了解迭代

嘗試使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn