IndexError: Tupelindex außerhalb des Bereichs in Python

Rana Hasnain Khan 15 Februar 2024
IndexError: Tupelindex außerhalb des Bereichs in Python

In diesem Artikel zeigen wir anhand von Beispielen, warum der Fehler IndexError: tuple index out of range auftritt und wie wir ihn in Python beheben können.

IndexError: Tupelindex außerhalb des gültigen Bereichs in Python

Bevor wir uns mit dem Fehler befassen, müssen wir verstehen, was ein Tupel ist. Ein Tupel ist eine Sammlung geordneter Elemente, die in Klammern eingeschlossen und durch Kommas getrennt sind.

Wir können die Elemente im Tupel nicht ändern. Daher werden sie auch als unveränderliche Elemente bezeichnet.

Das häufigste Problem, mit dem wir bei der Arbeit mit Tupeln konfrontiert sind, ist derselbe Fehler Index außerhalb des gültigen Bereichs. Dieser Fehler tritt auf, weil wir manchmal versuchen, auf den Index innerhalb des Tupels zuzugreifen, der nicht existiert, und den Fehler zurückgeben. Dieser Fehler kann zwei Hauptgründe haben.

Wenn wir beispielsweise ein Tupel haben, dessen Länge 7 ist, und wir den letzten Index dieses Tupels aufrufen möchten, nennen wir es statt mit 6 7. Es wird der Fehler Tupelindex außerhalb des Bereichs zurückgegeben, da Tupel wie Arrays auch bei 0 beginnen.

Der zweite Grund ist, dass, wenn wir versuchen, mithilfe der Tupelsyntax auf die Elemente zuzugreifen, die Elemente nicht in einem Tupel gespeichert werden; Stattdessen werden sie in einem Array oder einer Variablen gespeichert. Es kann denselben Fehler zurückgeben.

Um diese Situationen zu vermeiden, müssen wir sicherstellen, dass wir ein Tupel haben und versuchen, auf die Elemente innerhalb des Tupelbereichs zuzugreifen.

Lassen Sie uns ein Beispiel haben, in dem wir ein Tupel von Früchten erstellen und versuchen, auf den letzten Index dieses Tupels zuzugreifen, wie unten gezeigt.

fruits_tuple = ("banana", "apple", "orange", "guava")
last_fruit = fruits_tuple[len(fruits_tuple) - 1]
print(last_fruit)

Wie wir im obigen Code sehen können, haben wir ein Tupel erstellt, das aus dem Namen von 4 Früchten besteht. Beim Aufrufen des letzten Elements aus unserem Tupel haben wir die Funktion len() verwendet, die uns die Länge des Tupels liefert, und 1 davon subtrahiert, sodass wir das letzte Element des Tupels erhalten, unabhängig von der Länge des Tupel.

Die Ausgabe des obigen Codes ist unten dargestellt.

Abrufen des letzten Elements des Tupels mit len in Python

Eine andere Methode, um das letzte Element eines Tupels zu erhalten, ist die Verwendung des negativen Index, wie unten gezeigt.

fruits_tuple = ("banana", "apple", "orange", "guava")
last_fruit = fruits_tuple[-1]
print(last_fruit)

Ausgang:

Abrufen des letzten Elements des Tupels mit len in Python

Es gibt noch eine andere Möglichkeit, um sicherzustellen, dass wir niemals den Fehler erhalten und wichtige Daten verlieren, von denen Sie profitieren könnten. Die beste Vorgehensweise besteht darin, immer try-außer-Anweisungen zu verwenden, wie unten gezeigt.

fruits_tuple = ("banana", "apple", "orange", "guava")
try:
    last_fruit = fruits_tuple[5]
except IndexError:
    print("Index out of range.")

Mit den try-except-Anweisungen können wir sicherstellen, dass unsere Anwendung im Falle eines Fehlers nicht abstürzt oder nicht mehr funktioniert. Stattdessen können wir den Fehler mit der Anweisung außer im Log anzeigen bzw. speichern.

Das Ergebnis des obigen Codes ist unten dargestellt.

Abrufen des letzten Elements des Tupels mithilfe von try-except-Anweisungen in Python

Wie aus dem obigen Beispiel ersichtlich, haben wir versucht, den 6. Index eines Tupels mit 5 aufzurufen, und unser Code gibt den Code aus, anstatt die Anwendung zum Absturz zu bringen oder zu stoppen.

Auf diese Weise wird ein Fehler Index außerhalb des Bereichs vom Block außer abgefangen, und wir können ihn auf eine für unser Programm geeignete Weise behandeln.

Die Lösung für das zweite Problem, bei dem wir uns nicht sicher sind, ob wir ein Element aus einer Variablen oder einem Tupel aufrufen, ist die Verwendung der Funktion type() in Python und der Anweisung if-else.

Wenn der Variablentyp ein Tupel ist, wird die Funktion ausgeführt. Andernfalls wird eine andere Funktion ausgeführt, wie unten gezeigt.

fruits_tuple = ("banana", "apple", "orange", "guava")
if type(fruits_tuple) == tuple:
    print(fruits_tuple[2])
else:
    print("Variable is not a tuple.")

Die Ausgabe des obigen Codes ist unten dargestellt.

Abrufen des letzten Elements des Tupels mithilfe der Typfunktion in Python

Zusammenfassend lässt sich sagen, dass der Fehler Tupelindex außerhalb des Bereichs auftritt, wenn wir versuchen, auf ein Element eines Tupels zuzugreifen, indem wir einen Index verwenden, der nicht innerhalb des Bereichs unseres Tupels liegt.

Es ist wichtig, die Funktion len() zu verwenden, wenn wir mit der Länge unseres Tupels nicht vertraut sind. Wir können auch try-except-Blöcke verwenden, um den Fehler abzufangen, bevor er ausgelöst wird, und eine Variablentypprüfung, um sicherzustellen, dass der Index wir versuchen, darauf zuzugreifen, liegt im Bereich des Tupels und die Variable ist vom Typ Tupel, um diesen Fehler zu vermeiden.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Verwandter Artikel - Python Error