tuple Python à lister

Les listes sont indexées à l’aide de nombres. Cela signifie que si vous souhaitez accéder à un élément d’une liste, vous devez vous référer à sa position d’index. Si vous spécifiez un tuple comme valeur d’index de liste, vous rencontrez l’erreur "TypeError : les index de liste doivent être des entiers, pas un tuple‚" error.

Dans ce guide, nous expliquons ce que signifie cette erreur et o√π vous pouvez la rencontrer. Nous passons en revue un exemple de cette erreur afin que vous puissiez apprendre comment la surmonter dans votre code.

TypeError : les index des listes doivent être des entiers, pas des tuples

Les listes sont indexées à partir du valeur 0. Chaque valeur suivante a un numéro d’index 1 supérieur à la précédente. Considérez la liste suivante :

Cette liste a quatre valeurs. L’√âthiopie a une valeur d’indice 0, le Kenya a une valeur d’indice 1, et ainsi de suite. Pour accéder aux éléments de cette liste, nous référençons ces valeurs :

Notre code renvoie "√âthiopie‚".

Nous ne pouvons pas spécifier une valeur de tuple pour accéder à un élément d’une liste. En effet, les tuples ne correspondent à aucune valeur d’index dans une liste.

Les index de liste "TypeError : doivent être des entiers, pas des tuples " l’erreur est la plus courante dans une liste de listes o√π il manque un séparateur de virgule entre chaque valeur de la liste.

Un exemple de scénario

Nous allons créer un programme qui suit les informations à propos de certains oiseaux britanniques. Commencez par définir une liste d’oiseaux :

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi dans la technologie après avoir assisté à un bootcamp. Soyez associé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Le premier élément de chaque liste est le nom d’un oiseau; le deuxième élément est la famille d’un oiseau ; le troisième élément est l’état de conservation britannique de cet oiseau. Ensuite, nous demandons à un utilisateur d’ajouter un enregistrement à notre liste. Nous le faisons en utilisant la méthode input() :

Maintenant que nous avons collecté ces données, nous pouvons ajouter des informations sur un oiseau à notre liste d’oiseaux. Pour ce faire, nous utilisons la méthode append() :

Notre code imprime notre nouvelle liste d’oiseaux après l’ajout de l’enregistrement que nous voulons ajouter à la liste. Exécutons notre code et voyons ce qui se passe :

Notre code renvoie une erreur. Notez que notre erreur se produit avant qu’on nous demande d’insérer des informations sur un oiseau. Si nous regardons notre trace de pile, nous voyons que le problème se situe à la ligne deux de notre code, qui se trouve dans notre déclaration de liste.

La solution

Le problème avec notre code est que nous avons oublié d’inclure des virgules entre les valeurs de notre liste. Cela pose un problème car sans virgules notre liste interprète le deuxième enregistrement comme une valeur d’index pour le premier enregistrement :

Python lit ce code comme :

La deuxième liste ne peut pas être une valeur d’index pour la première liste. Les valeurs d’index doivent être des nombres. Notre code dit que nous avons spécifié un tuple parce que notre la deuxième liste est réduite et comporte donc plusieurs valeurs.

Pour résoudre ce problème, nous devons séparer les listes dans notre liste de listes à l’aide d’une virgule :

Essayez d’exécuter notre code avec la virgule dans la liste des oiseaux :

Notre code s’exécute avec succès. Tout d’abord, on nous demande d’insérer des informations sur un oiseau. Notre code ajoute ensuite cette information à notre liste d’oiseaux. Enfin, notre code imprime la liste des oiseaux. Nous voyons que notre nouvel enregistrement est ajouté à la fin de la liste.

Conclusion

La "TypeError : les indices de liste doivent être des entiers, pas des tuples‚" erreur se produit lorsque vous spécifiez un tuple comme valeur d’index à la fin d’une liste. Pour résoudre ce problème, assurez-vous que toutes les listes d’une liste de listes sont séparées par des virgules.

Vous êtes maintenant prêt à résoudre cette erreur Python courante comme un développeur professionnel !