[PYTHON] TypeError: l'objet 'int' n'est pas en indice

Jusqu'à présent, j'ai écrit le programme en écrivant le processus de manière relativement plate. En d'autres termes, j'ai l'impression d'écrire le processus tel que je l'ai imaginé. Loin d'être agile, j'avais l'impression d'écrire le processus avec mes pensées s'échappant de mon esprit, en pensant "Est-ce le code?" C'était peut-être plus comme écrire un manuscrit que rédiger un programme.

J'ai étudié un peu et je pense que c'est très bien. Essayez de l'écrire comme une fonction, même si ce n'est pas un processus qui est utilisé à plusieurs reprises. Au lieu de traiter les données en y réfléchissant lorsque vous les mettez dans une variable, importez d'abord les données brutes dans le programme afin qu'elles soient traitées telles quelles (non, affectez-les simplement à la variable), et extrayez-en les données nécessaires. Essayez de l'utiliser.

Si vous entrez des données en pensant à des choses supplémentaires, vous ferez certainement une erreur!

Dans les deux cas, je voulais que la structure soit facile à comprendre lors de la réécriture ou de la relecture du programme plus tard. J'ai donc décidé de partir de là où je pouvais. Puis je suis devenu accro ...

Que signifie int même s'il s'agit d'un tableau?

En ce qui concerne le marais auquel j'étais accro cette fois, la cause était la dernière. C'est un cas où j'ai réalisé que je ne comprenais toujours pas correctement l'arrangement. Plus précisément, le code ci-dessous.

list_jikken-00.py


#Définir des variables
ringo_int = 300
ringo_float = 256.1
ringo_list = [ringo_int, ringo_float]

#Vérifiez le type
print(type(ringo_int))
print(type(ringo_float))
print(type(ringo_list))

#Afficher la valeur
print(ringo_int)
print(ringo_float)
print(ringo_list)

#Extraire des éléments d'un tableau
print(ringo_list[0][0])
print(ringo_list[0][1])
#Doboji? ?? ??

Ce n'est pas un programme vraiment addictif, mais un programme expérimental simplifié qui tente de découvrir ce qui ne va pas avec un programme plus simple. Mais quand je fais ça, à la ligne 17,

TypeError: 'int' object is not subscriptable

Mais qu'est-ce qui ne va pas? Je dis. L'erreur est la même dans le programme d'origine et dans le code expérimental ci-dessus. ringo_list est <class'list '> lorsque vous vérifiez le type, et [223850, 67154] lorsque vous l'imprimez, non? Pourquoi appelez-vous cela int!

Si vous recherchez avec le code d'erreur ci-dessus, il existe de nombreuses explications qui disent "C'est une erreur que vous rencontrerez toujours lorsque vous pourrez écrire un peu de code", et je suis déçu que ce soit une vie qui n'est pas du tout surprenante (enfin, Je le savais). Mais après tout, je m'occupe de list plutôt que d'int, donc je ne sais pas où le réparer.

Eh bien, il semble que les données brutes traitées en premier dans le programme d'origine convenaient à la création d'un tableau à deux dimensions, il semble donc que le tableau soit à deux dimensions pour une raison quelconque. Quand j'ai vu l'explication selon laquelle l'indice signifie un indice, j'ai réalisé que "ce n'est pas bidimensionnel, n'est-ce pas?"

list_jikken-01.py


...
#Extraire des éléments d'un tableau
print(ringo_list[0])
print(ringo_list[1])
#Je vois!

Je suis finalement tombé sur ce que je devais faire. Si vous déboguez autant et que vous ne parvenez pas à la structure du tableau, vous serez dégoûté par la raideur de votre tête.

Enfin, si ringo_list n'est pas un tableau à deux dimensions, il a été écrit pour extraire des éléments du tableau à deux dimensions, donc lorsque les éléments sont extraits dans la partie ringo_list [0], int La valeur de a été retournée, mais comme [0] et [1] ont été ajoutés, l'entier ne peut pas être en indice, c'est-à-dire qu'il est devenu TypeError: 'int' object is not subscriptable. , Je comprends ça. Chii, je me souviens.

Désormais, c'était une journée de travail à domicile que j'ai fermement juré d'être plus conscient de la structure de l'arrangement.

Recommended Posts

TypeError: l'objet 'int' n'est pas en indice
[Hyperas] Erreur de type: la résolution de l'objet "fonction" n'est pas en indice
[Erreur Django] L'objet 'RenameAttributes' n'est pas itérable
J'ai un TypeError: l'objet 'int' n'est pas itérable lors de l'utilisation de keras
Lorsque l'objet sélectionné dans bpy.context.selected_objects n'est pas renvoyé
Le rond de Python n'est pas strictement rond
Time.time () n'est-il pas très précis?
La modernisation de l'orientation objet de Python est-elle?
La liste Python n'est pas une liste
NameError: le nom '__ fichier__' n'est pas défini
La commande est introuvable dans sudo
le hachage multiplicatif n'est pas parfait (certifié)
La conversion de Sympy Laplace n'est pas pratique