Python Listenindex() mit Beispiel
⚡ Intelligente Zusammenfassung
Python Die Funktion `index()` gibt die erste Position eines gegebenen Elements zurück, während die Liste `list` die erste Position eines Elements zurückgibt.ping Konstrukte, List Comprehensions, enumerate(), filter(), die NumPy-Bibliothek und more_itertools.locate() erweitern diese Technik, um jeden übereinstimmenden Index in einer Liste zu sammeln, die doppelte Werte enthält.

Eine Liste ist ein Container, der Elemente verschiedener Datentypen (Ints, Floats, Boolean, Strings usw.) in einer geordneten Reihenfolge speichert. Es ist eine wichtige Datenstruktur, die in Python. Die Daten werden in eckige Klammern ([]) geschrieben und die Werte durch Kommas (,) getrennt.
Die Elemente in der Liste werden mit dem ersten Element beginnend bei Index 0 indiziert. Sie können Änderungen an der erstellten Liste vornehmen, indem Sie neue Elemente hinzufügen oder vorhandene Elemente aktualisieren und löschen. Es kann auch doppelte Elemente und eine verschachtelte Liste enthalten.
Es gibt viele Methoden, die auf eine Liste angewendet werden können, und eine der wichtigsten ist die Methode index().
Python Listenindex()
Die Methode list index() hilft Ihnen, den ersten niedrigsten Index des angegebenen Elements zu finden. Wenn die Liste doppelte Elemente enthält, wird der erste Index des Elements zurückgegeben. Dies ist der einfachste und unkomplizierteste Weg, den Index zu erhalten.
Neben der eingebauten Methode `index()` für Listen können Sie auch andere Wege verwenden, um den Index zu erhalten, z. B. mit `loo`.ping durch die Liste, unter Verwendung von List Comprehensions, enumerate(), Filtermethoden.
Die Methode list index() gibt den ersten niedrigsten Index des angegebenen Elements zurück.
Syntax
list.index(element, start, end)
Kenngrößen
| Kenngrößen | Beschreibung |
|---|---|
| Element | Das Element, dessen Index Sie erhalten möchten. |
| Anfang | Dieser Parameter ist optional. Sie können den Startindex für die Elementsuche festlegen. Wird er nicht angegeben, ist der Standardwert 0. |
| Ende | Dieser Parameter ist optional. Sie können den Endindex für das zu durchsuchende Element angeben. Wenn nicht angegeben, wird es bis zum Ende der Liste berücksichtigt. |
Rückgabewert
Die Methode list index() gibt den Index des angegebenen Elements zurück. Wenn das Element nicht in der Liste vorhanden ist, gibt die Methode index() einen Fehler aus, zum Beispiel ValueError: „Element“ ist nicht in der Liste.
Beispiel: Um den Index des angegebenen Elements zu finden.
In der Liste my_list = ['A', 'B', 'C', 'D', 'E', 'F'] möchten wir den Index für die Elemente C und F erfahren.
Das folgende Beispiel zeigt, wie Sie den Index erhalten.
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] print("The index of element C is ", my_list.index('C')) print("The index of element F is ", my_list.index('F'))
Ausgang:
The index of element C is 2 The index of element F is 5
Beispiel: Verwendung von Start und Ende in index()
In diesem Beispiel versuchen wir, die Suche nach dem Index in einer Liste mithilfe von Start- und Endindex einzuschränken.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('C', 1, 5)) print("The index of element F is ", my_list.index('F', 3, 7)) #using just the startindex print("The index of element D is ", my_list.index('D', 1))
Ausgang:
The index of element C is 2 The index of element F is 5 The index of element D is 3
Beispiel: Um die index()-Methode mit einem nicht vorhandenen Element zu testen.
Wenn Sie versuchen, in der Liste nach einem nicht vorhandenen Element zu suchen, erhalten Sie eine Fehlermeldung wie unten dargestellt:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('Z'))
Ausgang:
Traceback (most recent call last): File "display.py", line 3, in <module> print("The index of element C is ", my_list.index('Z')) ValueError: 'Z' is not in list
Verwenden einer for-Schleife, um den Index eines Elements in einer Liste abzurufen
Wir haben gesehen, dass die Methode list.index() den Index des Elements angibt, das als Argument übergeben wird.
Betrachten wir nun die Liste wie folgt: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. Der Name 'Guru' ist 3 Mal im Index vorhanden, und ich möchte alle Indizes mit dem Namen 'Guru'.
Mithilfe einer for-Schleife sollten wir die verschiedenen Indizes wie im folgenden Beispiel erhalten können.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] all_indexes = [] for i in range(0, len(my_list)) : if my_list[i] == 'Guru' : all_indexes.append(i) print("Originallist ", my_list) print("Indexes for element Guru : ", all_indexes)
Ausgang:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Verwendung von while-Schleife und list.index()
Die Verwendung einer While-Schleife durchläuft die angegebene Liste, um alle Indizes des angegebenen Elements abzurufen.
In der Liste: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], wir benötigen alle Indizes des Elements 'Guru'.
Nachfolgend ein Beispiel, das zeigt, wie man mithilfe einer while-Schleife alle Indizes erhält.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] result = [] elementindex = -1 while True: try: elementindex = my_list.index('Guru', elementindex+1) result.append(elementindex) except ValueError: break print("OriginalList is ", my_list) print("The index for element Guru is ", result)
Ausgang:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
Verwenden des Listenverständnisses, um den Index eines Elements in einer Liste abzurufen
Um alle Indizes zu erhalten, können Sie schnell und unkompliziert das Listenverständnis der Liste nutzen.
Listenverständnisse sind Python Funktionen, die zum Erstellen neuer Sequenzen (wie Listen, Wörterbücher usw.) verwendet werden, d. h. zum Verwenden bereits erstellter Sequenzen.
Sie tragen dazu bei, längere Schleifen zu reduzieren und Ihren Code einfacher zu lesen und zu warten.
Das folgende Beispiel zeigt, wie es geht:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru'] print("Indexes for element Guru : ", all_indexes)
Ausgang:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Verwenden Sie Enumerate, um den Index eines Elements in einer Liste abzurufen
Die Funktion Enumerate() ist eine integrierte Funktion, die verfügbar ist mit PythonMit der Funktion `enumerate` können Sie alle Indizes eines Elements in einer Liste ermitteln. Die Funktion erwartet als Eingabe ein iterierbares Objekt (d. h. ein Objekt, das durchlaufen werden kann) und gibt ein Objekt mit einem Zähler für jedes Element zurück.
Das folgende Beispiel zeigt, wie man mit enumerate alle Indizes eines bestimmten Elements in einer Liste erhält.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
Ausgang:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Verwenden eines Filters, um den Index eines Elements in einer Liste abzurufen
Die Methode filter() filtert die angegebene Liste basierend auf der angegebenen Funktion. Jedes Element der Liste wird an die Funktion übergeben und die erforderlichen Elemente werden basierend auf der in der Funktion angegebenen Bedingung gefiltert.
Lassen Sie uns die Methode filter() verwenden, um die Indizes für das angegebene Element in der Liste abzurufen.
Das folgende Beispiel zeigt, wie man einen Filter auf eine Liste anwendet.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) print("Indexes for element Guru : ", all_indexes)
Ausgang:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Verwenden von NumPy, um den Index eines Elements in einer Liste abzurufen
Die NumPy-Bibliothek wird speziell für Arrays verwendet. Daher nutzen wir hier NumPy, um den Index des benötigten Elements aus der gegebenen Liste zu ermitteln.
Um NumPy nutzen zu können, müssen wir es installieren und importieren.
Hier sind die Schritte hierfür:
Schritt 1) Installieren Sie NumPy
pip install numpy
Schritt 2) Importieren Sie das NumPy-Modul.
import numpy as np
Schritt 3) Verwenden Sie np.array, um eine Liste in ein Array umzuwandeln.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list)
Schritt 4) Ermitteln Sie den Index des gewünschten Elements mit np.where().
item_index = np.where(np_array == 'Guru')[0]
Der endgültige Arbeitscode mit Ausgabe lautet wie folgt:
import numpy as np my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list) item_index = np.where(np_array == 'Guru')[0] print("Originallist ", my_list) print("Indexes for element Guru :", item_index)
Ausgang:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
Mit more_itertools.locate() den Index eines Elements in einer Liste ermitteln
Die Methode `more_itertools.locate()` hilft dabei, die Indizes der Elemente in der Liste zu finden. Dieses Modul funktioniert mit Python Version 3.5+. Das Paket more_itertools muss zuerst installiert werden, um es nutzen zu können.
Im Folgenden sind die Schritte zur Installation und Verwendung von more_itertools aufgeführt:
Schritt 1) Installieren Sie more_itertools mit pip (Python Paketmanager). Der Befehl lautet:
pip install more_itertools
Schritt 2) Sobald die Installation abgeschlossen ist, importieren Sie die lokalisieren Modul wie unten gezeigt.
from more_itertools import locate
Jetzt können Sie das Modul „locate“ in einer Liste verwenden, wie im folgenden Beispiel gezeigt:
from more_itertools import locate my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist : ", my_list) print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
Ausgang:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
