Heim  >  Artikel  >  Backend-Entwicklung  >  Warum wirft „ar[i]“ einen IndexError in einer „for i in ar“-Schleife aus?

Warum wirft „ar[i]“ einen IndexError in einer „for i in ar“-Schleife aus?

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 03:13:02966Durchsuche

Why Does

Identifizieren des Problems: Warum ein IndexError in „ar[i]“ innerhalb von „for i in ar“ auftritt

In Python beim Codieren einer for-Schleife zum Summieren Werte in einer Liste, kann ein IndexError auftreten, wenn Sie versuchen, mit „ar[i]“ auf Elemente zuzugreifen, wobei „i“ das aktuelle Element der Liste darstellt.

Den Fehler verstehen

Der Der Fehler tritt auf, weil „ar[i]“ versucht, mit dem aktuellen Element als Index in die Liste zu indizieren. Das aktuelle Element ist jedoch nicht der Index selbst, sondern der Wert an diesem Index. Im angegebenen Code versuchen Sie, einen Wert als Index zu verwenden, was nicht zulässig ist.

Beheben des Problems

Um diesen Fehler zu beheben, ändern Sie die Schleife wie folgt:

for i in ar:
    theSum = theSum + i

Anstatt die Liste mit „i“ zu indizieren, fügen Sie das durch „i“ dargestellte aktuelle Element direkt zu „theSum“ hinzu.

Alternative Lösung: Verwenden von Range

Alternativ , können Sie eine Bereichsschleife verwenden:

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

„range(len(ar))“ generiert einen Bereich gültiger Indizes für die Liste, und Sie können „ar[i]“ innerhalb dieser Schleife ohne verwenden Der Fehler ist aufgetreten.

Das obige ist der detaillierte Inhalt vonWarum wirft „ar[i]“ einen IndexError in einer „for i in ar“-Schleife aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn