[PYTHON] TypeError: Das Objekt 'int' kann nicht tiefgestellt werden

Bis jetzt habe ich das Programm geschrieben, indem ich den Prozess relativ flach geschrieben habe. Mit anderen Worten, es fühlt sich an, als hätte ich den Prozess geschrieben, als ich ihn mir ausgedacht habe. Weit davon entfernt, agil zu sein, hatte ich das Gefühl, den Prozess zu schreiben, wobei meine Gedanken aus meinem Kopf kamen und ich dachte: "Ist das der Code?" Vielleicht war es eher so, als würde man ein Manuskript schreiben als ein Programm.

Ich habe ein wenig gelernt und ich denke, das ist in Ordnung. Versuchen Sie, es als Funktion zu schreiben, auch wenn es sich nicht um einen Prozess handelt, der wiederholt verwendet wird. Anstatt die Daten zu verarbeiten, während Sie beim Einfügen in eine Variable darüber nachdenken, importieren Sie zuerst die Rohdaten in das Programm, damit sie unverändert behandelt werden (nein, weisen Sie sie einfach der Variablen zu), und extrahieren Sie die erforderlichen Daten von dort. Versuche es zu benutzen.

Wenn Sie Daten eingeben, während Sie über zusätzliche Dinge nachdenken, werden Sie definitiv einen Fehler machen!

In beiden Fällen wollte ich, dass die Struktur beim späteren Umschreiben oder erneuten Lesen des Programms leicht verständlich ist. Also beschloss ich, dort anzufangen, wo ich konnte. Dann wurde ich süchtig ...

Was bedeutet int, obwohl es sich um ein Array handelt?

In Bezug auf den Sumpf, von dem ich damals abhängig war, war die Ursache die letztere. In diesem Fall wurde mir klar, dass ich die Anordnung immer noch nicht richtig verstehen kann. Insbesondere der folgende Code.

list_jikken-00.py


#Variablen setzen
ringo_int = 300
ringo_float = 256.1
ringo_list = [ringo_int, ringo_float]

#Überprüfen Sie den Typ
print(type(ringo_int))
print(type(ringo_float))
print(type(ringo_list))

#Wert anzeigen
print(ringo_int)
print(ringo_float)
print(ringo_list)

#Extrahieren Sie Elemente aus einem Array
print(ringo_list[0][0])
print(ringo_list[0][1])
#Doboji? ?? ??

Dies ist kein wirklich süchtig machendes Programm, sondern ein vereinfachtes experimentelles Programm, das versucht herauszufinden, was mit einem einfacheren Programm nicht stimmt. Aber wenn ich das mache, in Zeile 17,

TypeError: 'int' object is not subscriptable

Aber was ist los? Ich sage. Der Fehler ist der gleiche im ursprünglichen Programm und im obigen experimentellen Code. ringo_list ist "<class'list"> ", wenn Sie den Typ überprüfen, und" [223850, 67154] ", wenn Sie ihn drucken, richtig? Warum nennst du es int!

Wenn Sie mit dem obigen Fehlercode suchen, gibt es viele Erklärungen, die besagen: "Es ist ein Fehler, auf den Sie immer stoßen, wenn Sie einen kleinen Code schreiben können", und ich bin enttäuscht, dass es ein Leben ist, das überhaupt nicht überraschend ist (na ja, Ich wusste, dass). Aber ich habe es doch mit list statt mit int zu tun, also weiß ich nicht, wo ich das beheben soll.

Nun, es scheint, dass die Rohdaten, die zuerst im ursprünglichen Programm verarbeitet wurden, für die Erstellung mit einem zweidimensionalen Array geeignet waren. Es scheint also, dass das Array aus irgendeinem Grund zweidimensional ist. Als ich die Erklärung sah, dass Index ein Index bedeutet, wurde mir klar, dass "das nicht zweidimensional ist, nicht wahr?"

list_jikken-01.py


...
#Extrahieren Sie Elemente aus einem Array
print(ringo_list[0])
print(ringo_list[1])
#Das war's!

Endlich bin ich auf das gestoßen, was ich tun soll. Wenn Sie so viel debuggen und nicht auf die Struktur des Arrays kommen, werden Sie von der Steifheit Ihres Kopfes angewidert sein.

Wenn ringo_list kein zweidimensionales Array ist, wurde es geschrieben, um Elemente aus dem zweidimensionalen Array zu extrahieren. Wenn also die Elemente im Teil ringo_list [0] extrahiert werden, int Der Wert von wurde zurückgegeben, aber da [0] und [1] hinzugefügt wurden, kann die Ganzzahl nicht tiefgestellt werden, dh sie wurde zu "TypeError:" int "-Objekt ist nicht tiefgestellt". , Ich verstehe das. Chii, ich erinnere mich.

Von nun an war es ein Tag der Arbeit von zu Hause aus, an dem ich fest entschlossen war, mir der Struktur des Arrangements bewusster zu werden.

Recommended Posts

TypeError: Das Objekt 'int' kann nicht tiefgestellt werden
[Hyperas] Typ Fehler: Das Auflösen des Funktionsobjekts ist nicht abonnierbar
[Django-Fehler] Das Objekt 'RenameAttributes' ist nicht iterierbar
Ich habe einen TypeError: 'int'-Objekt ist bei Verwendung von Keras nicht iterierbar
Wenn das ausgewählte Objekt in bpy.context.selected_objects nicht zurückgegeben wird
Python-Runde ist nicht streng rund
Ist time.time () nicht sehr genau?
Wird die Objektorientierung von Python nachgerüstet?
NameError: Name '__ Datei__' ist nicht definiert
Der Befehl wird in sudo nicht gefunden
multiplikativer Hash ist nicht perfekt (zertifiziert)
Die Konvertierung von Sympy Laplace ist nicht praktikabel