Maison > Article > développement back-end > Pourquoi est-ce que j'obtiens une erreur IndexError dans ma boucle « for i in ar » lors de la sommation des valeurs de la liste ?
Lorsque l'on tente de résumer les valeurs d'une liste à l'aide d'une boucle for, on peut rencontrer une IndexError , TypeError ou des résultats incorrects. Cette erreur survient en raison d'une utilisation incorrecte de l'index de liste.
Considérez le code suivant :
<code class="python">def sumAnArray(ar): theSum = 0 for i in ar: theSum = theSum + ar[i] return theSum</code>
Ici, nous avons l'intention de parcourir la liste et d'accumuler les valeurs dans la Somme. Cependant, le code déclenche une IndexError car i représente chaque élément de la liste, pas son index.
Pour parcourir correctement la liste et accéder à ses éléments, il faut modifier le code pour :
<code class="python">def sumAnArray(ar): theSum = 0 for i in ar: theSum = theSum + i return theSum</code>
Alternativement, on peut utiliser une plage pour parcourir des indices de liste valides :
<code class="python">def sumAnArray(ar): theSum = 0 for i in range(len(ar)): theSum = theSum + ar[i] return theSum</code>
Ces modifications garantissent que i représente un index valide dans le liste, empêchant l'IndexError et permettant le calcul correct de la somme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!