Eine Liste ist ein Container, in dem Elemente verschiedener Datentypen (Ints, Floats, Boolean, Strings usw.) in einer geordneten Reihenfolge gespeichert werden. Es ist eine wichtige Datenstruktur, die in Python integriert ist. Die Daten werden in eckige Klammern ([]) geschrieben und die Werte durch Komma (,) getrennt.
Die Elemente in der Liste werden indiziert, wobei das erste Element bei Index 0 beginnt. Sie können Änderungen an der erstellten Liste vornehmen, indem Sie neue Elemente hinzufügen oder die vorhandenen Elemente aktualisieren oder löschen. Es kann auch doppelte Elemente und eine verschachtelte Liste enthalten.
In einer Liste stehen viele Methoden zur Verfügung, und die wichtigste ist der Index ().
In diesem Tutorial lernen Sie:
- Python-Listenindex ()
- Verwenden der for-Schleife, um den Index eines Elements in einer Liste abzurufen
- Verwenden von while-Schleife und list.index ()
- Verwenden des Listenverständnisses, um den Index des Elements in einer Liste abzurufen
- Verwenden von Enumerate, um den Index eines Elements in einer Liste abzurufen
- Verwenden des Filters, um den Index eines Elements in einer Liste abzurufen
- Verwenden von NumPy, um den Index eines Elements in einer Liste abzurufen
- Verwenden Sie more_itertools.locate (), um den Index eines Elements in einer Liste abzurufen
Python-Listenindex ()
Mit der Methode list index () können Sie den ersten niedrigsten Index des angegebenen Elements finden. Wenn die Liste doppelte Elemente enthält, wird der erste Index des Elements zurückgegeben. Dies ist der einfachste und einfachste Weg, um den Index zu erhalten.
Neben der integrierten Methode list index () können Sie auch andere Methoden verwenden, um den Index zu erhalten, z. B. das Durchlaufen der Liste mithilfe von Listenverständnissen, enumerate () und Filtermethoden.
Die Methode list index () gibt den ersten niedrigsten Index des angegebenen Elements zurück.
Syntax
list.index(element, start, end)
Parameter
Parameter | Beschreibung |
Element | Das Element, für das Sie den Index erhalten möchten. |
Start | Dieser Parameter ist optional. Sie können den Startindex definieren, um nach dem Element zu suchen. Wenn 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 dies 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 index () -Methode einen Fehler aus, z. B. ValueError: 'Element' ist nicht in der Liste enthalten.
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 Element C und F kennen.
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'))
Ausgabe:
The index of element C is 2The index of element F is 5
Beispiel: Verwenden von Start und Ende in index ()
In diesem Beispiel wird versucht, die Suche nach einem Index in einer Liste mithilfe des 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 startindexprint("The index of element D is ", my_list.index('D', 1))
Ausgabe:
The index of element C is 2The index of element F is 5The index of element D is 3
Beispiel: Zum Testen der index () -Methode mit einem nicht vorhandenen Element.
Wenn Sie versuchen, in der Liste nach einem Index für ein nicht vorhandenes Element zu suchen, wird folgende Fehlermeldung angezeigt:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']print("The index of element C is ", my_list.index('Z'))
Ausgabe:
Traceback (most recent call last):File "display.py", line 3, inprint("The index of element C is ", my_list.index('Z'))ValueError: 'Z' is not in list
Verwenden der for-Schleife, um den Index eines Elements in einer Liste abzurufen
Bei der Methode list.index () haben wir gesehen, dass sie den Index des Elements angibt, das als Argument übergeben wird.
Betrachten Sie die Liste nun als: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. Der Name 'Guru' ist dreimal im Index vorhanden, und ich möchte alle Indizes mit dem Namen 'Guru'.
Mit for-loop sollten wir in der Lage sein, die mehreren Indizes zu erhalten, wie im folgenden Beispiel gezeigt.
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)
Ausgabe:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Verwenden von while-Schleife und list.index ()
Wenn Sie eine while-Schleife verwenden, wird die angegebene Liste durchlaufen, um alle Indizes des angegebenen Elements abzurufen.
In der Liste: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] benötigen wir alle Indizes des Elements 'Guru'.
Im Folgenden finden Sie ein Beispiel, wie Sie alle Indizes mithilfe der while-Schleife abrufen
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']result = []elementindex = -1while True:try:elementindex = my_list.index('Guru', elementindex+1)result.append(elementindex)except ValueError:breakprint("OriginalList is ", my_list)print("The index for element Guru is ", result)
Ausgabe:
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 des Elements in einer Liste abzurufen
Um alle Indizes zu erhalten, können Sie schnell und unkompliziert das Listenverständnis in der Liste nutzen.
Listenverständnis sind Python-Funktionen, die zum Erstellen neuer Sequenzen (wie Listen, Wörterbücher usw.) verwendet werden, dh unter Verwendung bereits erstellter Sequenzen.
Sie helfen, längere Schleifen zu reduzieren und das Lesen und Verwalten Ihres Codes zu vereinfachen.
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)
Ausgabe:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Verwenden von Enumerate, um den Index eines Elements in einer Liste abzurufen
Die Enumerate () -Funktion ist eine integrierte Funktion, die in Python verfügbar ist. Sie können enumerate verwenden, um alle Indizes des Elements in einer Liste abzurufen. Die Eingabe wird als iterierbares Objekt (dh als Objekt, das geloopt werden kann) verwendet, und die Ausgabe ist ein Objekt mit einem Zähler für jedes Element.
Das folgende Beispiel zeigt, wie Sie die Aufzählung in einer Liste verwenden, um alle Indizes für ein bestimmtes Element abzurufen.
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'])
Ausgabe:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Verwenden des Filters, um den Index eines Elements in einer Liste abzurufen
Die filter () -Methode 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.
Verwenden wir die filter () -Methode, um die Indizes für das angegebene Element in der Liste abzurufen.
Das folgende Beispiel zeigt, wie Sie Filter in einer Liste verwenden.
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)
Ausgabe:
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. Hier wird also NumPy verwendet, um den Index des benötigten Elements aus der angegebenen Liste abzurufen.
Um NumPy nutzen zu können, müssen wir es installieren und importieren.
Hier sind die Schritte dafü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 die Liste in ein Array zu konvertieren
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']np_array = np.array(my_list)
Schritt 4) Holen Sie sich 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 npmy_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)
Ausgabe:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0 3 6]
Verwenden Sie more_itertools.locate (), um den Index eines Elements in einer Liste abzurufen
Mit more_itertools.locate () können Sie die Indizes des Elements in der Liste 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 finden Sie die Schritte zum Installieren und Verwenden von more_itertools
Schritt 1) Installieren Sie more_itertools mit pip (Python Package Manager). Der Befehl lautet
pip install more_itertools
Schritt 2) Importieren Sie nach Abschluss der Installation das Suchmodul wie unten gezeigt
from more_itertools import locate
Jetzt können Sie das Suchmodul in einer Liste verwenden, wie im folgenden Beispiel gezeigt:
from more_itertools import locatemy_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')))
Ausgabe:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Zusammenfassung:
- Mit der Methode list index () können Sie den Index des angegebenen Elements ermitteln. Dies ist der einfachste und einfachste Weg, um den Index zu erhalten.
- Die Methode list index () gibt den Index des angegebenen Elements zurück.
- Wenn das Element nicht in der Liste vorhanden ist, gibt die index () -Methode einen Fehler aus, z. B. ValueError: 'Element' ist nicht in der Liste enthalten.
- Neben der integrierten Listenmethode können Sie auch andere Methoden verwenden, um den Index abzurufen, z. B. das Durchlaufen der Liste, das Listenverständnis, enumerate (), einen Filter usw.
- Verwenden von for-loop und while-loop, um die mehreren Indizes eines bestimmten Elements abzurufen.
- Um alle Indizes zu erhalten, können Sie schnell und unkompliziert das Listenverständnis in der Liste nutzen.
- Listenverständnisse sind Python-Funktionen, mit denen neue Sequenzen erstellt werden.
- Sie helfen, längere Schleifen zu reduzieren und das Lesen und Verwalten Ihres Codes zu vereinfachen.
- Sie können enumerate verwenden, um alle Indizes des Elements in einer Liste abzurufen.
- Die Enumerate () -Funktion ist eine integrierte Funktion, die in Python verfügbar ist. Die Eingabe wird als iterierbares Objekt (dh als Objekt, das geloopt werden kann) verwendet, und die Ausgabe ist ein Objekt mit einem Zähler für jedes Element.
- Die filter () -Methode filtert die angegebene Liste basierend auf der angegebenen Funktion.
- Die Numpy-Bibliothek wird speziell für Arrays verwendet. Sie können NumPy verwenden, um den Index des in der Liste angegebenen Elements abzurufen.
- More_itertools.locate () ist eine weitere Python-Bibliothek, mit deren Hilfe die Indizes der angegebenen Liste gefunden werden können.