Académique Documents
Professionnel Documents
Culture Documents
COURS BLOG
Cours gratuits » Cours informatique » Cours programmation » Cours Python » Tutoriel Python
RDlero
CorelDRAW DleroC
Nouveau CorelDRAW
Télécharger
Tutoriel Python : maîtriser les listes
Introduction
Les indexErrors sont l'un des types d'erreurs d'exécution les plus courants en Python. Ils s
ont déclenchés lorsque vous essayez d'accéder à une valeur d'index dans une liste Pyth
on qui n'existe pas. Dans la plupart des cas, les erreurs d'index sont faciles à résoudre. V
ous avez juste besoin de faire un peu de débogage.
Dans ce tutoriel, nous allons parler de l'erreur "indexerror : list index out of range". Nous al
lons discuter de son fonctionnement et parcourir un exemple de scénarios où cette erre
ur est présente afin de pouvoir la résoudre.
Index () est une fonction intégrée en Python qui recherche un élément donné depuis le
début de la liste et renvoie l'index le plus bas où l'élément apparaît.
Exemple
python
liste = ['a','b','c','d','e']
liste[2]
Résultat d’exécution
Bootstrap glyphicons Cours Project Liste des
list [Eng] pièces
Valeur a b c d e
Valeur a b c d e
Si vous essayez d'attribuer une valeur à un index de liste ou à une position qui n'existe p Excel spreadsheet Cours programmation
as, vous obtiendrez l’erreur suivante : IndexError: list index out of range. template for wedding Lisp : Opérateurs et
guest list fonctions
Les éléments d'une liste python ont des index numériques avec le premier élément aya
nt l'index 0, le second élément avec l'index 1. Le dernier élément de la liste a un index infé
rieur ou égal à la longueur de la liste. Ainsi, si une liste comporte 5 éléments, alors l'index
du dernier élément aura un index 4.
Les valeurs peuvent être affectées à une liste en utilisant cet index ou cette position en
utilisant la syntaxe suivante : liste_nom [index] = valeur.
https://www.cours-gratuit.com/tutoriel-python/python-indexerror-list-index-out-of-range 2/6
14/07/2022 01:56 Corriger l'erreur IndexError: List Index Out of Range - Tutoriel Python
Si vous essayez d'attribuer une valeur à un index supérieur à l'index maximum ou l'index
du dernier élément de la liste, ou longueur de la liste – 1 alors cette erreur sera soulevée.
python
indexerror: list index out of range
Ce message d'erreur nous indique que nous essayons d'accéder à une valeur à l'intérie
ur d'un tableau qui n'a pas de position d'index. En Python, les numéros d'index commenc
ent à 0.
Cette liste contient trois valeurs. Le premier élément de la liste, Java, possède la valeur
d'index 0. Chaque valeur qui suit a un numéro d'index 1 supérieur au dernier. Par exempl
e, la valeur d'index de Python est 1.
Si nous essayons d'accéder à un élément à la position d'index 3, une erreur sera renvoy
ée. Le dernier élément de notre tableau possède la valeur d'index 2.
·Lorsque vous essayez de parcourir une liste sans considérer le début d’indexation
commençant avec 0.
·Lorsque vous oubliez d'utiliser range () pour parcourir une liste.
Passons en revue ces deux scénarios !
Syntaxe :
python
langages_programmation = ["Java", "Python", "PHP"]
count = 0
print(langages_programmation[count])
count += 1
Nous avons déclaré une boucle while. Cette boucle imprime la valeur de la variable « la
ngages_programmation » à la position d'index stockée dans « count ». Ensuite, il incrém
ente de 1 la variable « count ». Cette boucle se poursuit jusqu'à ce que la valeur de « cou
nt » ne soit plus inférieure ou égale à la longueur de la liste « langages_programmatio
n».
Résultat d’exécution :
https://www.cours-gratuit.com/tutoriel-python/python-indexerror-list-index-out-of-range 3/6
14/07/2022 01:56 Corriger l'erreur IndexError: List Index Out of Range - Tutoriel Python
Toutes les valeurs de notre liste sont imprimées sur la console mais une erreur est génér
ée. Le problème est que notre boucle continue à s’exécuter jusqu'à ce que la valeur de «
count » ne soit plus inférieure ou égale à la longueur de la variable « langages_progra
mmation ». Cela signifie que sa dernière itération vérifiera :
python
langages_programmation[3]
Cette valeur n'existe pas, donc la syntaxe provoque une IndexError. Pour résoudre ce pro
blème, nous pouvons changer notre opérateur de <= à <. Cela garantira que notre liste
ne sera itérée que lorsque la valeur de « count » ne soit plus inférieure à la longueur de «
langages_programmation ». Faisons alors ce changement :
Syntaxe :
python
langages_programmation = ["Java", "Python", "PHP"]
count = 0
print(langages_programmation[count])
count += 1
Résultat d’exécution :
Nous avons résolu l'erreur avec succès ! Notre boucle n'essaye plus d'imprimer des vale
urs relatives à l’instruction langages_programmation [3]. Il s'arrête lorsque la valeur de
« count » est égale à 3 car le nombre 3 n'est pas inférieur à la longueur de «langages_pr
ogrammation».
Syntaxe:
python
range ([start,] stop) -> objet range
Lorsque vous parcourez une liste de nombres, il est facile d’oublier l’inclusion de l’instruc
tion range(). Si vous accédez aux éléments de cette liste, une erreur peut se produire. C
onsidérons le code suivant:
Syntaxe:
python
âges = [11, 12, 22,14]
https://www.cours-gratuit.com/tutoriel-python/python-indexerror-list-index-out-of-range 4/6
14/07/2022 01:56 Corriger l'erreur IndexError: List Index Out of Range - Tutoriel Python
Ce code doit imprimer toutes les valeurs de la liste « âges ». Cette liste contient les âges
de personnes aléatoires dans un quartier. Exécutons notre code et voyons le résultat.
Résultat d’exécution :
Une erreur s'affiche. Ajoutons une instruction print() dans notre boucle pour voir la valeu
r de l'âge à chaque itération et identifier la source du problème.
Syntaxe:
python
âges = [11, 12, 22,14]
print(âge)
Résultat d’exécution
Le premier âge, 11 ans, est imprimé sur la console. Cependant, la valeur de « âge » est un
e valeur réelle de « âges ». Ce n’est pas un numéro d’index mais sur la ligne de code "pri
nt (âges [âge])", nous essayons d'accéder à un âge par le biais de son numéro d'index.
Lorsque nous exécutons notre code, il vérifie : âges [11]. La valeur de « âge » est 11 dans la
première itération. Or, il n'y a aucun élément dans notre liste « âges » avec cette valeur.
Pour résoudre ce problème, nous pouvons utiliser une instruction range () pour parcouri
r notre liste d’âges :
Syntaxe :
python
âges = [11, 12, 22,14]
print(âges[âge])
Résultat d’exécution :
Toutes les valeurs de la liste « âges » sont imprimées sur la console. L'instruction range
() crée une liste de nombres dans une plage particulière. Dans ce cas, la plage [0, 1, 2] e
st créée. Ces nombres peuvent ensuite être utilisés pour accéder aux valeurs « âges » p
ar leur numéro d'index.
Conclusion
Les erreurs d'index se produisent tout le temps. Pour résoudre l'erreur "indexerror : list ind
ex out of range", vous devez vous assurer que vous n'essayez pas d'accéder à un éléme
nt inexistant dans une liste.
https://www.cours-gratuit.com/tutoriel-python/python-indexerror-list-index-out-of-range 5/6
14/07/2022 01:56 Corriger l'erreur IndexError: List Index Out of Range - Tutoriel Python
Si vous utilisez une boucle for pour accéder à un élément, assurez-vous que cette boucl
e tient compte du fait que les listes sont indexées à partir de zéro. Si cela ne résout pas l
e problème, vérifiez que vous utilisez range () pour accéder à chaque élément par sa v
aleur d'index.
Vous êtes maintenant prêt à résoudre l'erreur "indexerror : list index out of range" comm
e un expert Python !
Tutoriel Python
https://www.cours-gratuit.com/tutoriel-python/python-indexerror-list-index-out-of-range 6/6