Python str à dict

En Python, les objets itérables sont indexés à l’aide de nombres. Lorsque vous essayez d’accéder à un objet itérable à l’aide d’une valeur de chaaîne, une erreur est renvoyée. Cette erreur ressemblera à quelque chose comme "TypeError : les indices de chaaîne doivent être des entiers".

Dans ce guide, nous allons discuter de ce que signifie cette erreur et pourquoi elle est générée. Nous allons parcourir un exemple d’extrait de code avec cette erreur et une solution pour vous aider à mieux comprendre comment vous pouvez résoudre ce type d’erreur.

Commençons !

Le problème : typeerror : les indices de chaaîne doivent être des entiers

Nous avons une TypeError entre nos mains. Cela signifie que nous essayons d’effectuer une opération sur une valeur dont le type n’est pas compatible avec cette opération. Regardons notre message d’erreur :

Comme de nombreux messages d’erreur Python, celui-ci nous dit exactement quelle erreur nous avons commise. Cette erreur indique que nous essayons d’accéder à une valeur à partir d’un itérable en utilisant un index string plutôt qu’un index entier.

Les itérables, comme les chaaînes et les dictionnaires, sont indexés à partir du nombre 0. Considérez la liste suivante :

Ceci est une liste de chaaînes. Pour accéder au premier élément de cette liste, nous devons le référencer par sa valeur d’index :

Cela renverra un nom de clavier : "Apex Pro‚". Nous n’avons pas pu accéder à cet élément de liste à l’aide d’une chaaîne. Sinon, une erreur serait renvoyée.

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie 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.

Créons un dictionnaire appelé "steel_series‚" qui contient des informations sur un clavier :

Nous allons parcourir toutes les valeurs de ce dictionnaire et les imprimer sur la console.

Ce code utilise un boucle for pour parcourir chaque élément de notre "clavier‚" objet. Maintenant, essayons d’exécuter notre code et voyons ce qui se passe :

Une erreur est présente, comme nous l’avions prévu. Cette erreur est due au fait que nous essayons d’accéder aux valeurs de notre dictionnaire en utilisant des indices de chaaîne au lieu d’entiers.

La solution

Le problème dans notre code est que nous réitérons sur chaque clé du dictionnaire "steel_series‚".

La valeur de "k" est toujours une clé dans le dictionnaire. Ce n’est pas un enregistrement dans notre dictionnaire. Essayons d’imprimer "k" dans notre dictionnaire :

Notre code renvoie :

Nous ne pouvons pas utiliser "k" pour accéder aux valeurs dans notre dictionnaire. k["name"] est égal à la valeur de "name" à l’intérieur de "k", qui est "name". Cela n’a pas de sens à Python. Vous ne pouvez pas accéder à une valeur dans une chaaîne en utilisant une autre chaaîne.

Pour résoudre ce problème, nous devons référencer notre dictionnaire au lieu de "k&rdquo ;. Nous pouvons accéder aux éléments de notre dictionnaire à l’aide d’une chaaîne. En effet, les clés du dictionnaire peuvent être des chaaînes.

Nous n’avons pas besoin d’utiliser une boucle for pour imprimer chaque valeur :

Exécutons notre nouveau code :

Notre code imprime avec succès chaque valeur de notre liste. En effet, nous n’essayons plus d’accéder à notre dictionnaire en utilisant la valeur de chaaîne dans un itérateur ("k‚").



Conclusion

Les indices de chaaîne doivent être des entiers. Cela signifie que lorsque vous accédez à un objet itérable comme une chaaîne, vous devez le faire en utilisant une valeur numérique. Si vous accédez à des éléments à partir d’un dictionnaire, assurez-vous que vous accédez au dictionnaire lui-même et non à une clé du dictionnaire.

Maintenant, vous êtes prêt à résoudre le Python : les indices de chaaîne doivent être une erreur d’entiers comme un pro !