Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois une erreur IndexError lors de la somme des valeurs de liste en Python ?

Pourquoi est-ce que je reçois une erreur IndexError lors de la somme des valeurs de liste en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 18:12:30996parcourir

Why Am I Getting an IndexError When Summing List Values in Python?

Comprendre l'indexation de tableaux en Python

Lorsque l'on tente de résumer les valeurs d'une liste à l'aide d'une boucle for, on peut rencontrer une IndexError comme résultat d’une utilisation incorrecte de l’indexation des tableaux. Le but de cet article est d'élucider la raison sous-jacente de ces erreurs et de fournir des conseils sur la façon de les rectifier.

La boucle for dans l'extrait de code fourni tente d'accéder aux éléments du tableau ar en utilisant ar[ je] comme son expression. Cependant, la variable de boucle i représente l'élément actuel de la liste, pas l'index. Par conséquent, l'instruction ar[i] tentera d'accéder à l'élément à cette valeur spécifique, conduisant à une IndexError lorsque la valeur de i dépasse les limites du tableau.

Pour résoudre ce problème, il faut utiliser la valeur de i comme index dans le tableau. La boucle modifiée ci-dessous corrige cette erreur :

<code class="python">for i in ar:
    theSum += i</code>

Alternativement, on peut également utiliser les fonctions intégrées de Python pour un code plus concis :

<code class="python">theSum = sum(ar)</code>

Pour utiliser explicitement l'indexation de tableau, on peut utiliser une fonction range() pour générer les indices valides :

<code class="python">for i in range(len(ar)):
    theSum += ar[i]</code>

En adhérant à ces principes, on peut éviter les IndexingErrors et écrire du code Python fiable et efficace.

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!

Déclaration:
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