「for i in ar」内の「ar[i]」の IndexError について
を使用してリストの要素を合計しようとするとfor ループでは、「ar[i]」を使用して要素にアクセスしようとすると、多くの場合 IndexError が発生します。これは、ループ内での反復子の目的の誤解が原因で発生します。
反復子変数の役割
for ループの反復子変数 (この場合、"i ") はリストの現在の要素を表します。たとえば、リスト「ar = [1, 5, 10]」の場合、「i」には値 1、5、10 が順番に含まれます。「i」が外側にある 5 番目の要素にアクセスしようとすると、エラーが発生します。指定されたリストの有効なインデックス範囲は 0 ~ 2 です。
代替ループ構築
この問題に対処するには、リストにインデックスを付けずにループを作成する必要があります。
for i in ar: theSum = theSum + i
このコードはリスト要素を正しく反復し、それぞれを「theSum」に追加します。
範囲を使用してインデックスを作成します
または、インデックス作成する場合
for i in range(len(ar)): theSum = theSum + ar[i]
このアプローチでは、"i" が "ar" の有効なインデックス値のみを取ることを保証し、IndexError を防ぎます。
以上が「for i in ar」ループ内で「ar[i]」を使用してリスト内の要素にアクセスすると IndexError が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。