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>
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>
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>
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!