Maison > développement back-end > Tutoriel Python > 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 ?

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 ?

Linda Hamilton
Libérer: 2024-11-03 13:44:02
original
958 Les gens l'ont consulté

Why Do I Get an IndexError in My

IndexError dans la boucle "for i in ar" : comprendre l'itération

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal