Python list.index(): Element-Positionen finden mit praktischen Beispielen
Python-Listen sind geordnete Sammlungen, die Items beliebigen Datentyps halten können – Integer, Strings, Booleans, verschachtelte Listen und mehr. Die eingebaute list.index()-Methode ist der schnellste Weg, um die Position eines Elements innerhalb dieser Sequenz zu lokalisieren. Unten finden Sie eine Schritt-für-Schritt-Anleitung mit Code-Snippets und alternativen Techniken zum Abrufen von Indizes, selbst wenn ein Element mehrmals vorkommt.
list.index() verstehen
Die list.index()-Methode gibt den niedrigsten Index zurück, an dem ein spezifizierter Wert erscheint. Ist der Wert nicht vorhanden, wirft sie einen ValueError. Zur Referenz siehe die offizielle Python-Dokumentation.
Syntax
list.index(element, start=0, end=len(list))
Parameter
| Parameter | Beschreibung |
|---|---|
element | Der Wert, den Sie lokalisieren wollen. |
start | Optional. Suche ab diesem Index starten. Default ist 0. |
end | Optional. Suche vor diesem Index beenden. Default ist Listenlänge. |
Rückgabewert
Gibt den Integer-Index des ersten passenden Elements zurück. Wirft ValueError, wenn Element fehlt.
Beispiel: Grundlegende Nutzung
my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("Index of 'C':", my_list.index('C')) # 2
print("Index of 'F':", my_list.index('F')) # 5
Beispiel: start und end nutzen
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("Index of 'C' between 1 and 5:", my_list.index('C', 1, 5)) # 2
print("Index of 'F' between 3 and 7:", my_list.index('F', 3, 7)) # 5
print("Index of 'D' starting from 1:", my_list.index('D', 1)) # 3
Beispiel: Element nicht gefunden
my_list = ['A', 'B', 'C', 'D']
try:
my_list.index('Z')
except ValueError as e:
print(e) # 'Z' is not in list
Alle Indizes für wiederholte Elemente abrufen
Wenn ein Wert mehrfach vorkommt, gibt list.index() nur die erste Position zurück. Hier sind mehrere Ansätze, um jeden Index zu erfassen.
For-Loop verwenden
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
for i, val in enumerate(my_list):
if val == 'Guru':
indices.append(i)
print(indices) # [0, 3, 6]
While-Loop mit index()
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
next_index = -1
while True:
try:
next_index = my_list.index('Guru', next_index + 1)
indices.append(next_index)
except ValueError:
break
print(indices) # [0, 3, 6]
List Comprehension
indices = [i for i, val in enumerate(my_list) if val == 'Guru'] print(indices) # [0, 3, 6]
enumerate() verwenden
indices = [i for i, val in enumerate(my_list) if val == 'Guru'] print(indices) # [0, 3, 6]
filter() verwenden
indices = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) print(indices) # [0, 3, 6]
Fortgeschrittene Techniken
NumPy für große Datensätze
Bei numerischen oder großen Textdaten kann die Konvertierung der Liste in ein NumPy-Array Suchen beschleunigen.
pip install numpy import numpy as np my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] array = np.array(my_list) indices = np.where(array == 'Guru')[0] print(indices) # [0 3 6]
more_itertools.locate()
Für einen cleanen, funktionalen Ansatz gibt more_itertools.locate() einen Iterator von Indizes zurück, die ein Prädikat erfüllen.
pip install more_itertools from more_itertools import locate indices = list(locate(my_list, lambda x: x == 'Guru')) print(indices) # [0, 3, 6]
Kernaussagen
list.index()ist die direkteste Methode, um das erste Vorkommen eines Werts zu finden.- Nutzen Sie
startundendParameter, um den Suchbereich einzuschränken. - Bei mehrmaligem Vorkommen: Loops, List Comprehensions,
enumerate(),filter()oder externe Libraries wie NumPy oder more_itertools einsetzen, um alle Indizes zu sammeln. - Immer
ValueErrorabfangen, wenn der gesuchte Wert möglicherweise nicht existiert.
Python
- std::list in C++ meistern: Syntax, Funktionen & praktische Beispiele
- Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
- Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
- Python round()-Funktion erklärt mit praktischen Beispielen
- Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
- Python timeit(): Ausführungszeit messen mit praktischen Beispielen
- Python Counter in collections: Effizientes Zählen, Aktualisieren und arithmetische Operationen
- Python list.count(): Experten-Guide mit praktischen Beispielen
- Duplikate aus Python-Listen entfernen: 8 bewährte Methoden
- Elemente aus Python-Listen entfernen: remove(), pop(), clear() und del