1. ホーム
  2. python

[解決済み] Python 3での配列の繰り返し処理

2022-03-01 19:09:20

質問

しばらくコーディングをしていなかったので、Pythonに戻ろうと思っています。私は、配列の各要素の値を合計に追加することによって、配列を合計する簡単なプログラムを書こうとしています。これは私が持っているものです。

def sumAnArray(ar):
    theSum = 0
    for i in ar:
        theSum = theSum + ar[i]
    print(theSum)
    return theSum

以下のようなエラーが発生します。

line 13, theSum = theSum + ar[i]
IndexError: list index out of range

私がやろうとしていることは、どうやらこのように単純なことらしいということがわかりました。

sum(ar)

しかし、明らかに私はとにかく適切に配列を反復していませんし、他の目的のためにきちんと学ぶ必要があるものだと考えています。ありがとうございます。

どのように解決するのですか?

配列の中でループを回すと、for変数(この例では i は配列の現在の要素です。

例えば、もしあなたの ar でございます [1,5,10] は、その i の値は、各反復で 1 , 5 そして 10 . また、配列の長さが3なので、使用できる最大インデックスは2です。 i = 5 得たり IndexError . このようなコードに変更する必要があります。

for i in ar:
    theSum = theSum + i

また、インデックスを使用する場合は、0 roからの範囲を作成する必要があります。 array length - 1 .

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