Python int-Objekt ist nicht subskriptierbar

Einige Objekte in Python sind indiziert. Das bedeutet, dass sie andere Objekte enthalten oder enthalten können. Ganzzahlen sind kein subskriptables Objekt. Sie werden verwendet, um ganze Zahlen zu speichern. Wenn Sie eine Ganzzahl wie ein subskriptierbares Objekt behandeln, wird ein Fehler ausgegeben.

In diesem Leitfaden werden wir uber den "Typfehler: ‚Äòint‚Äô Objekt ist nicht subskribierbar‚" Fehler und warum er ausgel√∂st wird. Wir gehen ein Code-Snippet mit diesem Problem durch, um zu zeigen, wie Sie es in Ihrem Code l√∂sen k√∂nnen. Lasst uns beginnen!

Das Problem: typeerror: ‘int’ object is not subscriptable

Wir beginnen mit einem Blick auf unsere Fehlermeldung:

Der erste Teil unserer Fehlermeldung, TypeError, gibt die Art unseres Fehlers an. Ein TypeError ist ein Fehler, der ausgelöst wird, wenn Sie versuchen, einen Vorgang fur einen Wert auszufuhren, der diesen Vorgang nicht unterstutzt. Die Verkettung eines Strings mit einem Integer fuhrt zum Beispiel zu einem TypeError.

Der zweite Teil unserer Nachricht informiert uns uber die Ursache.

Diese Nachricht ist aufschlussreich uns, dass wir eine Ganzzahl, bei der es sich um eine ganze Zahl handelt, wie ein tiefgestelltes Objekt behandeln. Ganzzahlen sind keine subskriptablen Objekte. Nur Objekte, die andere Objekte enthalten, wie Strings, Listen, Tuples und Wörterbucher sind indiziert.

Lassen Sie’ Angenommen, Sie versuchen, mithilfe der Indexierung auf ein Element aus einer Liste zuzugreifen:

Dieser Code gibt zuruck: ProtonMail. Listen sind indiziert, d. h. Sie können mithilfe der Indexierung einen Wert aus einer Liste abrufen.

81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Sie können nicht dieselbe Syntax verwenden auf einem nicht subskriptablen Wert, wie einem Gleitkommawert oder einer Ganzzahl.

Ein Beispielszenario

Wir werden ein Programm schreiben, das einen Benutzer nach dem Datum fragt, an dem seine nächste Urlaub beginnt und gibt jeden Wert in einer separaten Zeile aus. Dieses Programm weist einen Fehler auf, den wir beheben können.

Beginnen wir mit dem Schreiben unseres Hauptprogramms:

Dieses Programm fordert einen Benutzer auf, den Tag einzugeben, an dem sein Urlaub beginnt, mit einem input()-Anweisung. Anschließend verwenden wir Slicing, um die vom Benutzer angegebenen Werte fur Monat, Tag und Jahr abzurufen. Diese Werte werden in Variablen gespeichert.< br>

Als nächstes drucken wir die Werte dieser Variablen an die Konsole.Jeder Wert erhält ein Label, das den Teil des Datums angibt, dem der Wert entspricht.

Lassen Sie unseren Code ausfuhren:

Lassen Sie uns diesen Fehler beheben.

Wir haben den Wert von " Urlaub‚" in eine ganze Zahl. Das bedeutet, dass wir nicht per Slicing oder Indexierung darauf zugreifen k√∂nnen. Ganzzahlen werden nicht wie Strings indiziert.

Um dieses Problem zu lösen, können wir die Anweisung int() aus unserem Code entfernen. Die Anweisung input() gibt einen Stringwert zuruck. Wir können diesen String-Wert mithilfe unseres Codes aufteilen.

√úberarbeiten wir unsere input()-Anweisung:

Jetzt versuchen wir es Fuhren Sie unseren Code aus:

Unser Code l√§uft erfolgreich! Wir versuchen nicht mehr, eine ganze Zahl zu schneiden, da unser Code keine int()-Anweisung enth√§lt. Stattdessen wird "Urlaub‚" wird als String gespeichert. Diese Zeichenfolge wird mithilfe der Slicing-Syntax aufgeteilt.

Schlussfolgerung

Der "Typfehler: ‚Äòint‚Äô Objekt ist nicht subskribierbar‚" error wird ausgel√∂st, wenn Sie versuchen, auf eine Ganzzahl zuzugreifen, als ob es sich um ein subskriptierbares Objekt wie eine Liste oder ein W√∂rterbuch handelt.

Um dieses Problem zu lösen, stellen Sie sicher, dass Sie kein Slicing oder Indexing verwenden, um auf Werte in einer Ganzzahl zuzugreifen oder Indexierung, sollten Sie Ihre Ganzzahl zuerst in einen String oder eine Liste umwandeln.

Jetzt sind Sie bereit, dieses Problem zu lösen Python TypeError wie ein Experte!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method