Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python list.index(): Element-Positionen finden mit praktischen Beispielen

Python-Listen sind geordnete Sammlungen, die Items beliebigen Datentyps halten können – Integer, Strings, Booleans, verschachtelte Listen und mehr. Die eingebaute list.index()-Methode ist der schnellste Weg, um die Position eines Elements innerhalb dieser Sequenz zu lokalisieren. Unten finden Sie eine Schritt-für-Schritt-Anleitung mit Code-Snippets und alternativen Techniken zum Abrufen von Indizes, selbst wenn ein Element mehrmals vorkommt.

list.index() verstehen

Die list.index()-Methode gibt den niedrigsten Index zurück, an dem ein spezifizierter Wert erscheint. Ist der Wert nicht vorhanden, wirft sie einen ValueError. Zur Referenz siehe die offizielle Python-Dokumentation.

Syntax

list.index(element, start=0, end=len(list))

Parameter

ParameterBeschreibung
elementDer Wert, den Sie lokalisieren wollen.
startOptional. Suche ab diesem Index starten. Default ist 0.
endOptional. Suche vor diesem Index beenden. Default ist Listenlänge.

Rückgabewert

Gibt den Integer-Index des ersten passenden Elements zurück. Wirft ValueError, wenn Element fehlt.

Beispiel: Grundlegende Nutzung

my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("Index of 'C':", my_list.index('C'))  # 2
print("Index of 'F':", my_list.index('F'))  # 5

Beispiel: start und end nutzen

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("Index of 'C' between 1 and 5:", my_list.index('C', 1, 5))  # 2
print("Index of 'F' between 3 and 7:", my_list.index('F', 3, 7))  # 5
print("Index of 'D' starting from 1:", my_list.index('D', 1))      # 3

Beispiel: Element nicht gefunden

my_list = ['A', 'B', 'C', 'D']
try:
    my_list.index('Z')
except ValueError as e:
    print(e)  # 'Z' is not in list

Alle Indizes für wiederholte Elemente abrufen

Wenn ein Wert mehrfach vorkommt, gibt list.index() nur die erste Position zurück. Hier sind mehrere Ansätze, um jeden Index zu erfassen.

For-Loop verwenden

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
for i, val in enumerate(my_list):
    if val == 'Guru':
        indices.append(i)
print(indices)  # [0, 3, 6]

While-Loop mit index()

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
next_index = -1
while True:
    try:
        next_index = my_list.index('Guru', next_index + 1)
        indices.append(next_index)
    except ValueError:
        break
print(indices)  # [0, 3, 6]

List Comprehension

indices = [i for i, val in enumerate(my_list) if val == 'Guru']
print(indices)  # [0, 3, 6]

enumerate() verwenden

indices = [i for i, val in enumerate(my_list) if val == 'Guru']
print(indices)  # [0, 3, 6]

filter() verwenden

indices = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list))))
print(indices)  # [0, 3, 6]

Fortgeschrittene Techniken

NumPy für große Datensätze

Bei numerischen oder großen Textdaten kann die Konvertierung der Liste in ein NumPy-Array Suchen beschleunigen.

pip install numpy
import numpy as np
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
array = np.array(my_list)
indices = np.where(array == 'Guru')[0]
print(indices)  # [0 3 6]

more_itertools.locate()

Für einen cleanen, funktionalen Ansatz gibt more_itertools.locate() einen Iterator von Indizes zurück, die ein Prädikat erfüllen.

pip install more_itertools
from more_itertools import locate
indices = list(locate(my_list, lambda x: x == 'Guru'))
print(indices)  # [0, 3, 6]

Kernaussagen

Python

  1. std::list in C++ meistern: Syntax, Funktionen & praktische Beispiele
  2. Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
  3. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  4. Python round()-Funktion erklärt mit praktischen Beispielen
  5. Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
  6. Python timeit(): Ausführungszeit messen mit praktischen Beispielen
  7. Python Counter in collections: Effizientes Zählen, Aktualisieren und arithmetische Operationen
  8. Python list.count(): Experten-Guide mit praktischen Beispielen
  9. Duplikate aus Python-Listen entfernen: 8 bewährte Methoden
  10. Elemente aus Python-Listen entfernen: remove(), pop(), clear() und del