Python で、合計する for ループをコーディングする場合リスト内の値が異なる場合、「ar[i]」を使用して要素にアクセスしようとすると、IndexError が発生する可能性があります。「i」はリストの現在の要素を表します。
「ar[i]」が現在の要素をインデックスとして使用してリストにインデックスを付けようとするため、エラーが発生します。ただし、現在の要素はインデックスそのものではなく、そのインデックスの値です。指定されたコードでは、値をインデックスとして使用しようとしていますが、これは許可されていません。
このエラーを解決するには、ループを次のように変更します。
for i in ar: theSum = theSum + i
リストに "i" のインデックスを付ける代わりに、"i" で表される現在の要素を "theSum" に直接追加します。
を使用することもできます。 、範囲ループを使用できます:
for i in range(len(ar)): theSum = theSum + ar[i]
"range(len(ar))" はリストの有効なインデックスの範囲を生成し、このループ内で "ar[i]" を使用できます。エラーが発生しました。
以上が「ar[i]」が「for i in ar」ループで IndexError をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。