Python List index() mit Beispiel
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 eingebaut ist. Die Daten werden in eckige Klammern ([]) geschrieben und die Werte durch Komma (,) 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 oder löschen. Es kann auch doppelte Elemente und eine verschachtelte Liste haben.
Auf einer Liste stehen viele Methoden zur Verfügung, und die wichtigste ist index().
In diesem Tutorial lernen Sie:
- Python-Listenindex()
- Verwenden der for-Schleife, um den Index eines Elements in einer Liste zu erhalten
- Verwendung von While-Schleife und list.index()
- Listenverständnis verwenden, um den Index eines Elements in einer Liste zu erhalten
- Enumerate verwenden, um den Index eines Elements in einer Liste zu erhalten
- Filter verwenden, um den Index eines Elements in einer Liste zu erhalten
- NumPy verwenden, um den Index eines Elements in einer Liste zu erhalten
- Verwendung von more_itertools.locate(), um den Index eines Elements in einer Liste zu erhalten
Python-Listenindex()
Die Methode list index() hilft Ihnen, den ersten niedrigsten Index des angegebenen Elements zu finden. Wenn in der Liste doppelte Elemente vorhanden sind, wird der erste Index des Elements zurückgegeben. Dies ist der einfachste und unkomplizierteste Weg, um den Index zu erhalten.
Neben der eingebauten list-index()-Methode können Sie auch andere Methoden verwenden, um den Index zu erhalten, wie z
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. |
beginnen | 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 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, z. B. ValueError:‘Element’ is not in the list.
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 wissen.
Das folgende Beispiel zeigt, wie man den Index erhält.
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 2 The index of element F is 5
Beispiel:Verwendung von start und end in index()
In diesem Beispiel wird versucht, die Indexsuche in einer Liste mit 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))
Ausgabe:
The index of element C is 2 The index of element F is 5 The index of element D is 3
Beispiel:Um die Methode index() mit einem Element zu testen, das nicht vorhanden ist.
Wenn Sie versuchen, in der Liste nach einem nicht vorhandenen Element nach einem Index zu suchen, erhalten Sie eine Fehlermeldung wie unten gezeigt:
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, in <module> print("The index of element C is ", my_list.index('Z')) ValueError: 'Z' is not in list
For-Schleife verwenden, um den Index eines Elements in einer Liste zu erhalten
Bei der Methode list.index() haben wir gesehen, dass sie den Index des Elements angibt, das als Argument übergeben wird.
Betrachten Sie nun die Liste 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 der for-Schleife sollten wir in der Lage sein, die mehreren Indizes zu erhalten, wie im Beispiel unten 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]
Verwendung von While-Schleife und list.index()
Die Verwendung einer While-Schleife durchläuft die angegebene Liste, um alle Indizes des angegebenen Elements zu erhalten.
In der Liste:my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] brauchen wir alle Indizes des Elements 'Guru'.
Unten ist ein Beispiel, das zeigt, wie man alle Indizes mit der While-Schleife
erhältmy_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)
Ausgabe:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
Listenverständnis verwenden, um den Index eines Elements in einer Liste zu erhalten
Um alle Indizes zu erhalten, besteht ein schneller und unkomplizierter Weg darin, das Listenverständnis für die Liste zu verwenden.
List Comprehensions sind Python-Funktionen, die zum Erstellen neuer Sequenzen (z. B. Listen, Wörterbücher usw.) verwendet werden, dh zum Verwenden bereits erstellter Sequenzen.
Sie tragen dazu bei, längere Schleifen zu reduzieren und Ihren Code leichter lesbar und wartungsfreundlicher zu machen.
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]
Enumerate verwenden, um den Index eines Elements in einer Liste zu erhalten
Die Enumerate()-Funktion ist eine integrierte Funktion, die mit Python verfügbar ist. Sie können Enumerate verwenden, um alle Indizes des Elements in einer Liste zu erhalten. Es nimmt die Eingabe als iterierbares Objekt an (d. h. ein Objekt, das in einer Schleife durchlaufen werden kann), und die Ausgabe ist ein Objekt mit einem Zähler für jedes Element.
Das folgende Beispiel zeigt, wie man Enumerate in einer Liste verwendet, um alle Indizes für ein bestimmtes Element zu erhalten.
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]
Filter verwenden, um den Index eines Elements in einer Liste zu erhalten
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 zu erhalten.
Das folgende Beispiel zeigt, wie man einen Filter für eine Liste verwendet.
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]
NumPy verwenden, um den Index eines Elements in einer Liste zu erhalten
Die NumPy-Bibliothek wird speziell für Arrays verwendet. Hier wird also NumPy verwendet, um den Index des Elements, das wir benötigen, aus der angegebenen Liste zu erhalten.
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 umzuwandeln
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 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)
Ausgabe:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
Verwendung von more_itertools.locate(), um den Index eines Elements in einer Liste zu erhalten
more_itertools.locate() hilft, die Indizes des Elements in der Liste zu finden. Dieses Modul funktioniert mit Python Version 3.5+. Das Paket more_itertools muss erst installiert werden, um es nutzen zu können.
Im Folgenden sind die Schritte zum Installieren und Verwenden von more_itertools
aufgeführtSchritt 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 locate Modul 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 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')))
Ausgabe:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Zusammenfassung:
- Die Methode list index() hilft Ihnen, den Index des angegebenen Elements zu finden. Dies ist der einfachste und unkomplizierteste 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 Methode index() einen Fehler aus, z. B. ValueError:„Element“ is not in list.
- Neben der integrierten Listenmethode können Sie auch andere Wege nutzen, um den Index zu erhalten, wie z. B. das Durchlaufen der Liste, die Verwendung von Listenverständnissen, die Verwendung von enumerate(), die Verwendung eines Filters usw.
- For-Schleife und While-Schleife verwenden, um mehrere Indizes eines bestimmten Elements zu erhalten.
- Um alle Indizes zu erhalten, besteht ein schneller und unkomplizierter Weg darin, das Listenverständnis für die Liste zu verwenden.
- Listenverständnisse sind Python-Funktionen, die zum Erstellen neuer Sequenzen verwendet werden.
- Sie tragen dazu bei, längere Schleifen zu reduzieren und Ihren Code leichter lesbar und wartungsfreundlicher zu machen.
- Sie können Enumerate verwenden, um alle Indizes des Elements in einer Liste zu erhalten.
- Enumerate()-Funktion ist eine eingebaute Funktion, die mit Python verfügbar ist. Es nimmt die Eingabe als iterierbares Objekt an (d. h. ein Objekt, das in einer Schleife durchlaufen werden kann), und die Ausgabe ist ein Objekt mit einem Zähler für jedes Element.
- Die Methode filter() 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 zu erhalten.
- more_itertools.locate() ist noch eine weitere Python-Bibliothek, die dabei hilft, die Indizes der angegebenen Liste zu finden.
Python
- std::list in C++ mit Beispiel
- Python String strip() Funktion mit BEISPIEL
- Python String count() mit BEISPIELE
- Python-Funktion round() mit BEISPIELE
- Python map() Funktion mit BEISPIELE
- Python Timeit() mit Beispielen
- Python-Zähler in Sammlungen mit Beispiel
- Python List count() mit BEISPIELE
- Python entfernt Duplikate aus einer Liste
- Element aus einer Python-LIST entfernen [clear, pop, remove, del]