Suchen Sie den Index eines Elements in einer Liste in Python
-
Verwenden Sie die List
index()
-Methode, um den Index einer Liste in Python zu finden -
Verwenden Sie
numpy.where()
, um den Index einer Liste in Python zu finden
Dieses Tutorial zeigt, wie Sie die Position oder den Index eines Elements in einer Python-Liste finden.
Verwenden Sie die List index()
-Methode, um den Index einer Liste in Python zu finden
Die Python-Liste verfügt über eine integrierte Methode namens index()
, die einen einzelnen Parameter akzeptiert, der den Wert darstellt, der in der vorhandenen Liste gesucht werden soll. Die Funktion gibt den Index des ersten Vorkommens zurück, das sie ab dem Index 0
findet, unabhängig davon, wie oft er in der Liste vorkommt.
Deklarieren Sie beispielsweise eine Liste mit dem Wiederholungswert 20
, rufen Sie die Funktion index(20)
auf und drucken Sie die Rückgabe.
lst = [13, 4, 20, 15, 6, 20, 20]
print(lst.index(20))
Ausgabe:
2
Das erste Auftreten des Wertes 20
im Array lst
war im Index 2
, der das Ergebnis des Funktionsaufrufs ist. Die anderen Elemente mit demselben Wert werden ignoriert, da bereits eine Übereinstimmung in der Liste gefunden wurde.
Was passiert, wenn in der angegebenen Liste kein Wert vorhanden ist und wir index()
aufrufen und den nicht vorhandenen Wert übergeben? Nehmen wir zum Beispiel dies.
lst = [13, 4, 20, 15, 6, 20, 20]
print(lst.index(21))
Ausgabe:
ValueError: 21 is not in list
Die Funktion gibt einen Fehler aus, wenn der Index nicht in der Liste gefunden wird. In einigen Fällen kann es ungünstig sein, einen Fehler aufzurufen. Um dies zu vermeiden, fangen Sie den Fehler mit einem Block try...except
ab und machen Sie ihn so, dass Sie ihn als -1
zuweisen, wenn der Index nicht in der Liste vorhanden ist.
lst = [13, 4, 20, 15, 6, 20, 20]
try:
ndx = lst.index(21)
except:
ndx = -1
print(ndx)
Ausgabe:
-1
Auf diese Weise muss kein expliziter Fehler aufgerufen werden, und das Programm kann nach dem Vorgang weiter ausgeführt werden.
Verwenden Sie numpy.where()
, um den Index einer Liste in Python zu finden
Das Modul NumPy
verfügt über eine vordefinierte Funktion namens where()
, die sich mit dem Auffinden mehrerer Elemente in einer Liste befasst und eine Bedingung akzeptiert.
In diesem Fall verwenden wir ausschließlich where()
, um die Indizes eines bestimmten Werts zu lokalisieren. Im Gegensatz zur integrierten Funktion index()
kann die Funktion where()
eine Liste von Indizes zurückgeben, in denen sich der Wert befindet, wenn er mehr als einmal in einer Liste vorhanden ist. Dies ist nützlich, wenn Sie alle Vorkommen des Werts anstelle nur des ersten Vorkommens benötigen.
Der erste Schritt besteht darin, eine Python-Liste in ein NumPy
-Array zu konvertieren. Rufen Sie dazu die Funktion np.array()
auf.
import numpy as np
lst = np.array(lst=[13, 4, 20, 15, 6, 20, 20])
Nach der Initialisierung des Arrays NumPy
müssen wir nur den ersten Parameter von where()
füllen. Initialisieren Sie den ersten Parameter als lst == 20
, um die Indizes der angegebenen Liste mit dem Wert 20
zu suchen.
import numpy as np
lst = [13, 4, 20, 15, 6, 20, 20]
lst = np.array(lst)
result = np.where(lst == 20)
print(result)
Ausgabe:
(array([2, 5, 6]),)
Da sich NumPy
hauptsächlich mit Matrizen befasst, gibt die Funktion where()
ein Tupel von Arrays anstelle einer einzelnen Liste zurück. Wenn die Ausgabe nur der einzelnen Liste bevorzugt wird, rufen Sie den ersten Index des Ergebnisses auf und geben Sie ihn mit print()
aus.
import numpy as np
lst = [13, 4, 20, 15, 6, 20, 20]
lst = np.array(lst)
result = np.where(lst == 20)
print(result[0])
Ausgabe:
[2 5 6]
Beachten Sie, dass NumPy
-Arrays durch einzelne Leerzeichen anstelle der normalen Kommas begrenzt werden.
Zusammenfassend ist die Funktion index()
der einfachste Weg, die Position eines Elements in einer Python-Liste zu finden. Diese Funktion gibt jedoch nur den Index des ersten Auftretens des angegebenen Werts zurück.
Um mehrere Indizes zurückzugeben, wenn mehrere Instanzen des Werts vorhanden sind, können Sie die Funktion where()
im Modul NumPy
verwenden.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInVerwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert