IndexError: liste des index hors de portée et python
-
11-09-2019 - |
Question
Je dis mon programme d'imprimer la ligne 53 d'une sortie. Est-ce erreur me dit qu'il n'y a pas que beaucoup de lignes et ne peuvent donc pas imprimer?
La solution
Si vous avez une liste avec 53 articles, le dernier est thelist[52]
parce que l'indexation commence à 0.
Autres conseils
Oui,
Vous essayez d'accéder à un élément de la liste qui n'existe pas.
MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.
Avez-vous une erreur off-by-on?
Oui. La séquence n'a pas le 54e point.
C'est vrai. « Index de liste hors de portée » signifie probablement que vous faites référence à n-th
élément de la liste, tandis que la longueur de la liste est plus petite que n
.
Gardez toujours à l'esprit quand vous voulez surmonter cette erreur, la valeur par défaut de l'indexation et la gamme commence de 0, donc si les articles au total est de 100 alors l [99] et la plage (99) vous donnera accès à la dernière élément.
chaque fois que vous obtenez ce type d'erreur s'il vous plaît vérifier par recoupement avec des éléments qui se place entre / milieu dans la gamme, Historica et que leur index ne dure pas si vous obtenez une sortie alors vous avez fait une erreur parfaite qui a mentionné ci-dessus.
L'indexation Python fonctionnement de est qu'il commence à 0 , de sorte que le premier numéro de votre liste serait [0]. Vous devez imprimer [52], comme l'indice de départ est 0 et
alignent donc 53 est [52]
.
Soustraire 1 de la valeur et vous devriez être bien. :)
Si vous lisez une liste de fichier texte, vous pouvez obtenir la dernière ligne vide comme élément de la liste. Vous pouvez vous en débarrasser comme ceci:
list.pop()
for i in list:
i[12]=....