les indices de liste Python doivent être des entiers ou des tranches et non des str

Les indices de chaaîne doivent être des entiers ou des tranches, pas des chaaînes ? Que signifie cette erreur? C’est une TypeError, qui nous indique que nous essayons d’effectuer une opération sur une valeur dont le type n’est pas compatible avec l’opération. Quelle est la solution ?

Dans ce guide, nous allons répondre à toutes ces questions. Nous discuterons des causes de cette erreur dans Python et de la raison pour laquelle elle est déclenchée. Nous allons parcourir un exemple de scénario pour vous aider à comprendre comment le résoudre. Sans plus tarder, commençons !

Le problème : erreur de type : les indices de liste doivent être des entiers ou des tranches, pas str

Houston, nous avons une TypeError :

Cette erreur est déclenchée lorsque vous essayez d’accéder à une valeur dans une list à l’aide d’une valeur de chaaîne.

√âléments dans les listes sont indexées à l’aide de nombres. Considérez la liste suivante :

1 2345
S tring

Pour accéder aux valeurs de cette chaaîne, nous pouvons utiliser le découpage d’index. C’est lorsque vous appelez une chaaîne suivie d’une valeur d’index pour récupérer le caractère à cette position :

Ce code renvoie : S. Notre code récupère le caractère à la position d’index 0 dans notre liste.

81% des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi technologique après avoir assisté à un bootcamp. Soyez jumelé à 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.

Si vous essayez d’accéder à un list en utilisant une lettre, comme "S", une erreur se produira.

Un exemple de scénario

L’erreur "typeerror : les indices de liste doivent être des entiers ou des tranches, pas des str‚" est généralement déclenché lorsque vous essayez d’accéder à un élément dans une liste d’objets JSON comme s’il s’agissait d’une liste.

Considérez l’extrait de code suivant :

Cet extrait de code trouve l’√¢ge d’un élève particulier dans une classe. Tout d’abord, nous avons déclaré une liste d’étudiants. Cette liste stocke chaque étudiant en tant qu’objet JSON.

Ensuite, nous demandons à l’utilisateur de saisir le nom de l’élève dont il souhaite connaaître l’√¢ge. Notre programme itère ensuite sur chaque élève de la liste à l’aide d’un for loop pour trouver l’élève dont le nom correspond à celui que nous avons spécifié.

Si ce nom particulier est trouvé, l’√¢ge de l’élève est affiché sur la console. Sinon, rien ne se passe.

Essayons d’exécuter notre code :

Oh non. C’est une erreur de type !

La solution

Vous pouvez résoudre l’erreur "typeerror : les index de liste doivent être des entiers ou des tranches, pas des str" en vous assurant que vous accédez aux éléments d’une liste en utilisant des numéros d’index, pas des chaaînes.

Le problème dans notre code est que nous essayons d’accéder à "name" dans notre liste d’étudiants :

Cela correspond à aucune valeur car notre liste contient plusieurs objets JSON. Pour résoudre ce problème, nous allons utiliser une instruction range() pour parcourir notre liste d’étudiants. Ensuite, nous accéderons à chaque étudiant par son numéro d’index :

Pour commencer, nous avons utilisé une instruction range. Cela nous permettra d’itérer sur chaque étudiant de notre liste. Nous avons remplacé chaque instance de "students["key_name‚"]‚" avec "étudiants[s]["key_name‚"]". Cela nous permet d’accéder à chaque valeur de la liste.

Exécutons notre code et voyons ce qui se passe :

Notre code a réussi à trouver le √¢ge de Lisa Simpson.

Nous accédons à chaque valeur de la liste " étudiants " en utilisant son numéro d’index au lieu d’une chaaîne. Problème résolu !


Conclusion

L’erreur "typeerror : les indices de liste doivent être des entiers ou slices, not str" est déclenché lorsque vous essayez d’accéder à une liste en utilisant des valeurs de chaaîne au lieu d’un entier. Pour résoudre ce problème, assurez-vous d’accéder à une liste en utilisant un numéro d’index.

A le scénario courant o√π cette erreur se produit est lorsque vous parcourez une liste et comparez des objets dans la liste. Pour résoudre cette erreur, nous avons utilisé une instruction range() t afin que nous puissions accéder à chaque valeur dans "students" individuellement.

Maintenant, vous êtes prêt à résoudre cette erreur comme un expert Python !

"Career Karma est entré dans ma vie quand j’en avais le plus besoin et m’a rapidement aidé à correspondre avec un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot