Comprendre IndexError dans "ar[i]" dans "for i in ar"
Lorsque vous tentez de résumer les éléments d'une liste en utilisant une boucle for, beaucoup rencontrent une IndexError en essayant d'accéder à des éléments en utilisant "ar[i]". Cela se produit en raison d'une mauvaise compréhension du but de l'itérateur dans la boucle.
Le rôle de la variable itérateur
La variable itérateur de la boucle for (dans ce cas, "i ") représente l'élément actuel de la liste. Par exemple, étant donné une liste "ar = [1, 5, 10]", "i" contiendra séquentiellement les valeurs 1, 5 et 10. L'erreur survient lorsque "i" tente d'accéder au 5ème élément, qui se trouve en dehors de la plage d'index valide de 0 à 2 pour la liste donnée.
Construction de boucle alternative
Pour résoudre ce problème problème, la boucle doit être écrite sans indexer la liste :
for i in ar: theSum = theSum + i
Ce code parcourt correctement les éléments de la liste, en ajoutant chacun à "theSum".
Utilisation de Range pour indexer
Alternativement, si une indexation est requise, un range() peut être employé :
for i in range(len(ar)): theSum = theSum + ar[i]
Cette approche garantit que "i" prend uniquement des valeurs d'index valides pour "ar", empêchant ainsi l'IndexError.
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!