Python List index () mit Beispiel

Inhaltsverzeichnis:

Anonim

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, in print("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.