ホームページ  >  記事  >  バックエンド開発  >  「ar[i]」が「for i in ar」ループで IndexError をスローするのはなぜですか?

「ar[i]」が「for i in ar」ループで IndexError をスローするのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 03:13:02966ブラウズ

Why Does

問題の特定: 「ar の for i」内の「ar[i]」で IndexError が発生する理由

Python で、合計する for ループをコーディングする場合リスト内の値が異なる場合、「ar[i]」を使用して要素にアクセスしようとすると、IndexError が発生する可能性があります。「i」はリストの現在の要素を表します。

エラーについて

「ar[i]」が現在の要素をインデックスとして使用してリストにインデックスを付けようとするため、エラーが発生します。ただし、現在の要素はインデックスそのものではなく、そのインデックスの値です。指定されたコードでは、値をインデックスとして使用しようとしていますが、これは許可されていません。

問題の解決

このエラーを解決するには、ループを次のように変更します。

for i in ar:
    theSum = theSum + i

リストに "i" のインデックスを付ける代わりに、"i" で表される現在の要素を "theSum" に直接追加します。

代替解決策: Range

を使用することもできます。 、範囲ループを使用できます:

for i in range(len(ar)):
    theSum = theSum + ar[i]

"range(len(ar))" はリストの有効なインデックスの範囲を生成し、このループ内で "ar[i]" を使用できます。エラーが発生しました。

以上が「ar[i]」が「for i in ar」ループで IndexError をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。