for ループを使用してリストの値を合計しようとすると、IndexError が発生する可能性があります、TypeError、または間違った結果。このエラーは、リスト インデックスの誤った使用が原因で発生します。
次のコードを考えてみましょう:
<code class="python">def sumAnArray(ar): theSum = 0 for i in ar: theSum = theSum + ar[i] return theSum</code>
ここでは、リストをループして theSum に値を蓄積することを目的としています。ただし、i はインデックスではなくリストの各要素を表すため、コードは IndexError をトリガーします。
リストを正しくループしてその要素にアクセスするには、コードを次のように変更する必要があります。
<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 中国語 Web サイトの他の関連記事を参照してください。