Heim > Backend-Entwicklung > Python-Tutorial > Warum erhalte ich beim Summieren von Listenwerten einen IndexError in meiner „for i in ar'-Schleife?

Warum erhalte ich beim Summieren von Listenwerten einen IndexError in meiner „for i in ar'-Schleife?

Linda Hamilton
Freigeben: 2024-11-03 13:44:02
Original
959 Leute haben es durchsucht

Why Do I Get an IndexError in My

IndexError in der „for i in ar“-Schleife: Die Iteration verstehen

Beim Versuch, die Werte einer Liste mithilfe einer for-Schleife zu summieren, kann ein IndexError auftreten , TypeError oder falsche Ergebnisse. Dieser Fehler entsteht durch eine falsche Verwendung des Listenindex.

Bedenken Sie den folgenden Code:

<code class="python">def sumAnArray(ar):
    theSum = 0
    for i in ar:
        theSum = theSum + ar[i]
    return theSum</code>
Nach dem Login kopieren

Hier wollen wir die Liste durchlaufen und die Werte in theSum akkumulieren. Allerdings löst der Code einen IndexError aus, weil i jedes Element der Liste darstellt, nicht ihren Index.

Um die Liste korrekt zu durchlaufen und auf ihre Elemente zuzugreifen, sollte man den Code wie folgt ändern:

<code class="python">def sumAnArray(ar):
    theSum = 0
    for i in ar:
        theSum = theSum + i
    return theSum</code>
Nach dem Login kopieren

Alternativ kann man einen Bereich verwenden, um über gültige Listenindizes zu iterieren:

<code class="python">def sumAnArray(ar):
    theSum = 0
    for i in range(len(ar)):
        theSum = theSum + ar[i]
    return theSum</code>
Nach dem Login kopieren

Diese Modifikationen stellen sicher, dass i einen gültigen Index darstellt Index innerhalb der Liste, wodurch der IndexError verhindert und eine korrekte Berechnung der Summe ermöglicht wird.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Summieren von Listenwerten einen IndexError in meiner „for i in ar'-Schleife?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage