Direkt zum Inhalt
HeimAnleitungenPython

Python List Index() Tutorial

In diesem Lernprogramm lernst du ausschließlich die Funktion index() kennen.
Aktualisierte 11. Sept. 2024  · 6 Min. lesen

Eine Datenstruktur ist eine Art, Daten zu organisieren und zu speichern, die einen effizienten Zugriff und eine effiziente Änderung ermöglicht. Listen sind eine Art von Datenstruktur, die eine Sammlung von heterogenen Elementen speichern und sind eingebaute Datenstrukturen. Python bietet auch viele Funktionen oder Methoden, die du für die Arbeit mit Listen verwenden kannst.

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 Lernprogramm lernst du zunächst Listen kennen und siehst dann einige einfache Beispiele für die Arbeit mit der Funktion index().

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

Was ist Indizierung in Python?

In Python bezieht sich die Indizierung auf den Prozess des Zugriffs 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. Das bedeutet, dass das erste Element in einer Sequenz den Index 0 hat, das zweite Element den Index 1 und so weiter. 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

Python Index Beispiele

Die Methode index() gibt den niedrigsten Index in der Liste zurück, in der das gesuchte Element vorkommt. Wenn ein Element gesucht wird, das nicht vorhanden ist, wird ein ValueError zurückgegeben.

Versuchen wir das:

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
2
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

Index eines String-Elements

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

Was bedeutet es, den niedrigsten Index zurückzugeben?

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 zuerst an der ersten Position oder dem 0ten Index erscheint.

Intern passiert Folgendes: index durchläuft alle Werte ab der 1. Position (0. Index) auf der Suche nach dem Element, das du suchst, und sobald er den Wert gefunden hat, 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.

index() bietet dir die Möglichkeit, dem Programm Hinweise zu geben, wo der gesuchte Wert liegen könnte

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 einen ValueError wie unten.

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

List Comprehension oder Generator Expression

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

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 über das Verstehen von Listen 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

Python List Index FAQs

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.

Wie kann ich den Index eines Elements in einer Liste finden?

Du kannst die Methode index() einer Liste verwenden, um den Index eines bestimmten Elements zu finden. Wenn zum Beispiel my_list eine Liste ist und my_element ein Element in der Liste ist, kannst du den Index von my_element mit my_list.index(my_element) finden.

Wie kann ich alle Indizes eines Elements in einer Liste finden?

Du kannst ein Listenverständnis verwenden, um alle Indizes eines Elements in einer Liste zu finden. Wenn zum Beispiel my_list eine Liste ist und my_element ein Element in der Liste ist, kannst du alle Indizes von my_element mit [i for i in range(len(my_list)) if my_list[i] == my_element] finden.

Themen

Python-Kurse

Course

Introduction to Python

4 hr
5.8M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

See MoreSee More