Maison > développement back-end > Tutoriel Python > Pourquoi \'ar[i]\' lance-t-il une IndexError dans une boucle \'for i in ar\' ?

Pourquoi \'ar[i]\' lance-t-il une IndexError dans une boucle \'for i in ar\' ?

Barbara Streisand
Libérer: 2024-11-01 03:13:02
original
1166 Les gens l'ont consulté

Why Does

Identification du problème : pourquoi une erreur d'indexation se produit dans "ar[i]" dans "for i in ar"

En Python, lors du codage d'une boucle for pour résumer valeurs dans une liste, une IndexError peut survenir si vous tentez d'accéder à des éléments en utilisant "ar[i]" où "i" représente l'élément actuel de la liste.

Comprendre l'erreur

Le une erreur se produit car "ar[i]" tente d'indexer la liste en utilisant l'élément actuel comme index. Cependant, l'élément actuel n'est pas l'index lui-même mais la valeur à cet index. Dans le code donné, vous essayez d'utiliser une valeur comme index, ce qui n'est pas autorisé.

Résolution du problème

Pour résoudre cette erreur, modifiez la boucle comme suit :

for i in ar:
    theSum = theSum + i
Copier après la connexion

Au lieu d'indexer la liste avec "i", vous ajoutez directement l'élément actuel représenté par "i" à "theSum".

Solution alternative : utiliser Range

Alternativement , vous pouvez utiliser une boucle de plage :

for i in range(len(ar)):
    theSum = theSum + ar[i]
Copier après la connexion

"range(len(ar))" génère une plage d'indices valides pour la liste, et vous pouvez utiliser "ar[i]" dans cette boucle sans rencontrer l'erreur.

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