Direkt zum Inhalt

Python List index() Methode mit Beispielen erklärt

Lerne, wie du die index()-Funktion von Python verwendest, um die Position von Elementen in Listen zu bestimmen.
Aktualisierte 28. März 2025  · 6 Min. Lesezeit

In Python hilft dir eine Datenstruktur dabei, Daten effizient zu organisieren und zu speichern. Eine gängige und vielseitige Struktur ist eine Liste, die verschiedene Arten von Daten in einer bestimmten Reihenfolge enthalten kann. Python bietet auch viele Funktionen oder Methoden für die Arbeit mit Listen.

In diesem Lernprogramm lernst du die Python-Funktion index() kennen. Die Methode index() sucht ein Element in der Liste und gibt dessen Position/Index zurück. In diesem Tutorium lernst du zunächst Listen kennen und siehst dann einige einfache Beispiele, wie du mit der Funktion index() arbeiten kannst.

Um den gesamten Beispielcode in diesem Lehrgang ganz einfach selbst auszuführen, kannst du dir kostenlos eine DataLab-Arbeitsmappe erstellen, auf der Python vorinstalliert ist und die alle Codebeispiele enthält.

Was ist Indizierung in Python?

In Python bezeichnet Indizierung den Zugriff auf ein bestimmtes Element in einer Sequenz, z. B. eine Zeichenkette oder eine Liste, anhand seiner Position oder Indexnummer. Die Indexierung in Python beginnt bei 0, d.h. das erste Element einer Folge hat den Index 0, das zweite Element den Index 1 usw. Wenn wir zum Beispiel eine Zeichenkette "Hallo" haben, können wir auf den ersten Buchstaben "H" mit dem Index 0 zugreifen, indem wir die Notation der eckigen Klammern verwenden: string[0].

Die in Python eingebaute Funktion index() ist ein nützliches Werkzeug, um den Index eines bestimmten Elements in einer Sequenz zu finden. Diese Funktion nimmt ein Argument entgegen, das den zu suchenden Wert darstellt, und gibt den Index des ersten Vorkommens dieses Wertes in der Sequenz zurück.

Wenn der Wert nicht in der Sequenz gefunden wird, löst die Funktion einen ValueError aus. Wenn wir zum Beispiel eine Liste [1, 2, 3, 4, 5] haben, können wir den Index des Wertes 3 finden, indem wir list.index(3) aufrufen, was den Wert 2 zurückgibt (da 3 das dritte Element in der Liste ist und die Indexierung bei 0 beginnt).

Die Funktion index() ist ein mächtiges Werkzeug in Python, da sie die Suche nach dem Index eines Elements in einer Sequenz vereinfacht und das Schreiben von Schleifen oder bedingten Anweisungen überflüssig macht. Diese Funktion ist besonders nützlich, wenn du mit großen Datensätzen oder komplexen Strukturen arbeitest, bei denen eine manuelle Suche zeitaufwändig und fehleranfällig sein könnte.

Python von Grund auf lernen

Beherrsche Python für Data Science und erwerbe gefragte Fähigkeiten.
Kostenloses Lernen beginnen

Was ist die index()-Funktion?

Die Methode index() gibt den niedrigsten Index in der Liste zurück, in der das gesuchte Element vorkommt.

Lass es uns ausprobieren:

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
2

Wenn ein Element gesucht wird, das nicht vorhanden ist, wird ein ValueError zurückgegeben.

list_numbers = [4, 5, 6, 7, 8, 9, 10]
element = 3 # Not in the list
list_numbers.index(element) # Throws a ValueError
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-35-6a006c988b06> in <module>()
      1 list_numbers = [4, 5, 6, 7, 8, 9, 10]
      2 element = 3 # Not in the list
----> 3 list_numbers.index(element) # Throws a ValueError


ValueError: 3 is not in list

Arbeiten mit Strings

Versuchen wir es mal mit String-Elementen:

list_numbers = [1, 'two', 3, 4, 5, 6, 7, 8, 9, 10]
element = 'two'
list_numbers.index(element)
1

Hinweis: Bei der Suche nach Zeichenketten wird auf index() zwischen Groß- und Kleinschreibung unterschieden. Zum Beispiel wird 'Hello'.index('h') eine ValueError aufrufen.

Das erste Vorkommen finden

Angenommen, du hast mehr als eine Instanz eines Elements, dann gibt dir index() die erste Position an, an der das Element erscheint.

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
0

Die zurückgegebene Position ist 0, da 3 in Python an der ersten Position oder dem 0. Index steht.

Hier ist, was intern passiert: Der Index durchläuft alle Werte ab der 1. Position (0. Index) und sucht nach dem Element, nach dem du suchst. Wenn er den Wert findet, gibt er die Position zurück und verlässt das System. Das ist jedoch nicht sehr effizient, wenn du eine große Liste durchgehst und die Position von etwas am Ende der Liste brauchst.

Start- und Stopp-Parameter verwenden

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 5, 8)
6

Die Syntax lautet also: list_name.index(element, start, stop).

Hier sind die Werte start und stop optional. Verwende sie nur, wenn du dir über den Bereich völlig sicher bist, sonst bekommst du eine ValueError, wie unten gezeigt.

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 1, 5)
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-39-b96f4b5e51d5> in <module>()
      1 list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
      2 element = 7
----> 3 list_numbers.index(element, 1, 5)


ValueError: 7 is not in list

Alle Vorkommnisse finden

Da index() nur die erste Übereinstimmung mit einem Objekt zurückgibt, kannst du das Listenverständnis oder den Generatorausdruck verwenden, wenn du die Positionen weiterer Übereinstimmungen in der Liste benötigst. So geht's:

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
[i for i, n in enumerate(list_numbers) if n == 3] # List comprehension
[0, 3, 4, 8]
list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
g = (i for i, n in enumerate(list_numbers) if n == 3) # Generator expression
print("Generators store values, the first value here is:", next(g), ". Then the next is:", next(g), "followed by ", next(g),"and finally ", next(g))
Generators store values, the first value here is: 0. Then the next is: 3 followed by  4 and finally  8

Generatoren sind speichereffizient, weil sie ein Element nach dem anderen liefern, anstatt alle Ergebnisse zu speichern, wie es bei List Comprehensions der Fall ist.

Schlussgedanken

Glückwunsch, du hast gerade die Funktion index() in Python kennengelernt! Du hast gesehen, wie es dir helfen kann, mit Listen zu arbeiten. Du hast auch einige neue Konzepte kennengelernt. Mehr zum Thema Listenverständnis erfährst du im DataCamp-Tutorial Python List Comprehension. Im Python Iterator Tutorial von DataCamp findest du mehr über Generatoren und Generatorausdrücke.

Lass dich für deine Traumrolle als Data Scientist zertifizieren

Unsere Zertifizierungsprogramme helfen dir, dich von anderen abzuheben und potenziellen Arbeitgebern zu beweisen, dass deine Fähigkeiten für den Job geeignet sind.

Hol dir deine Zertifizierung
Timeline mobile.png

Sejal Jaiswal's photo
Author
Sejal Jaiswal
LinkedIn

Ich habe in verschiedenen Branchen gearbeitet und mehrere Aufgaben übernommen: Softwareentwickler, Forscher für maschinelles Lernen, Datenwissenschaftler und Produktmanager. Aber im Grunde bin ich ein Programmierer, der es liebt, zu lernen und sein Wissen zu teilen!

FAQs

Was passiert, wenn mehrere Werte mit dem gesuchten Element übereinstimmen?

Die Methode index() gibt nur den Index des ersten Vorkommens des passenden Elements zurück. Wenn du alle Positionen benötigst, verwende ein Listenverständnis mit enumerate().

Kann ich index() mit Tupeln oder Strings verwenden?

Ja! Die Methode index() funktioniert mit jedem Sequenztyp, einschließlich Tupeln und Strings:

my_tuple = (1, 2, 3, 2)
print(my_tuple.index(2))  # Output: 1

text = "hello world"
print(text.index('o'))    # Output: 4

Gibt es eine Möglichkeit, ValueError elegant zu behandeln?

Ja, verpacke den index() Aufruf in einen try...except Block, um Abstürze zu vermeiden, wenn das Element nicht gefunden wird:

my_list = [1, 2, 3]
try:
    print(my_list.index(4))
except ValueError:
    print("Element not found.")

Wie kann ich vom Ende der Liste aus suchen?

Die Methode index() unterstützt keine Rückwärtssuche. Um das letzte Vorkommen zu finden, kehrst du die Liste manuell um oder verwendest ein Verständnis:

my_list = [1, 2, 3, 2, 1]
last_index = len(my_list) - 1 - my_list[::-1].index(2)
print(last_index)  # Output: 3

Wie unterscheidet sich index() von find()?

Die Methode find() wird mit Strings verwendet und gibt -1 zurück, anstatt einen Fehler zu melden, wenn der Wert nicht gefunden wird. Listen haben keine find() Methode.

text = "hello"
print(text.find('e'))  # Output: 1
print(text.find('z'))  # Output: -1

Kann ich index() mit verschachtelten Listen verwenden?

Ja, aber nur auf der obersten Ebene. index() sucht nicht in verschachtelten Strukturen.

nested_list = [[1, 2], [3, 4]]
print(nested_list.index([3, 4]))  # Output: 1
# This won't work: nested_list.index(3)

Was ist der Fehler "Listenindex außerhalb des Bereichs"?

Der Fehler "Listenindex außerhalb des Bereichs" tritt auf, wenn du versuchst, auf einen Index zuzugreifen, der außerhalb des Bereichs der gültigen Indizes für eine Liste liegt. Wenn eine Liste zum Beispiel 5 Elemente hat, sind die gültigen Indizes 0 bis 4. Wenn du versuchst, auf einen Index zuzugreifen, der größer oder gleich 5 ist, bekommst du diese Fehlermeldung.

Um den Fehler "Listenindex außerhalb des Bereichs" zu vermeiden, solltest du sicherstellen, dass der Index, auf den du zuzugreifen versuchst, innerhalb des Bereichs der gültigen Indizes für die Liste liegt. Du kannst die Funktion len() verwenden, um die Länge einer Liste zu ermitteln und zu prüfen, ob ein Index innerhalb des Bereichs der gültigen Indizes liegt.

Was ist der Fehler "Listenindizes müssen ganze Zahlen sein"?

Der Fehler "Listenindizes müssen ganzzahlig sein" tritt auf, wenn du versuchst, einen nicht-ganzzahligen Wert als Listenindex zu verwenden. Wenn du zum Beispiel versuchst, eine Gleitkommazahl oder eine Zeichenkette als Listenindex zu verwenden, bekommst du diesen Fehler.

Um den Fehler "Listenindizes müssen Ganzzahlen sein" zu vermeiden, solltest du sicherstellen, dass du einen Ganzzahlwert als Listenindex verwendest. Wenn du einen nicht-ganzzahligen Wert als Index verwenden musst, kannst du ihn mit der Funktion int() in eine ganze Zahl umwandeln.

Themen

Lerne mehr über Python mit diesen Kursen!

Kurs

Introduction to Python

4 hr
6.2M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 50 besten AWS-Interview-Fragen und Antworten für 2025

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interviewfragen, zusammen mit Fragen, die auf realen Situationen basieren.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Mehr anzeigenMehr anzeigen