Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python List index() – Elementposities Vinden met Praktische Voorbeelden

Python-lijsten zijn geordende collecties die items van elk datatype kunnen bevatten—gehele getallen, strings, booleans, geneste lijsten en meer. De ingebouwde list.index() methode is de snelste manier om de positie van een element binnen die sequentie te lokaliseren. Hieronder vind je een stap-voor-stap gids, complete met code-snippets en alternatieve technieken voor het ophalen van indices, zelfs wanneer een element meerdere keren voorkomt.

list.index() Begrijpen

De list.index() methode retourneert de laagste index waarop een gespecificeerde waarde voorkomt. Als de waarde niet aanwezig is, geeft het een ValueError. Zie de officiële Python-documentatie voor referentie.

Syntax

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

Parameters

ParameterBeschrijving
elementDe waarde die je wilt lokaliseren.
startOptioneel. Begin zoeken vanaf deze index. Standaard is 0.
endOptioneel. Stop zoeken voor deze index. Standaard is de lengte van de lijst.

Retourwaarde

Retourneert de integer-index van het eerste matchende element. Geeft ValueError als het element afwezig is.

Voorbeeld: Basisgebruik

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

Voorbeeld: start en end Gebruiken

mijn_lijst = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("Index van 'C' tussen 1 en 5:", mijn_lijst.index('C', 1, 5))  # 2
print("Index van 'F' tussen 3 en 7:", mijn_lijst.index('F', 3, 7))  # 5
print("Index van 'D' vanaf 1:", mijn_lijst.index('D', 1))  # 3

Voorbeeld: Element Niet Gevonden

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

Alle Indices Ophalen voor een Herhaald Element

Wanneer een waarde meerdere keren voorkomt, retourneert list.index() alleen de eerste positie. Hieronder zijn diverse benaderingen om elke index vast te leggen.

Met een For-lus

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

Met een While-lus en index()

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

List Comprehension

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

Met enumerate()

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

Met filter()

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

Geavanceerde Technieken

NumPy voor Grote Datasets

Bij het werken met numerieke of grote tekstuele data kan het converteren van de lijst naar een NumPy-array zoekopdrachten versnellen.

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

more_itertools.locate()

Voor een schone, functionele benadering retourneert more_itertools.locate() een iterator van indices die aan een predicate voldoen.

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

Belangrijkste Lessons

  • list.index() is de meest directe methode om de eerste voorkomen van een waarde te vinden.
  • Gebruik start en end parameters om het zoekbereik te beperken.
  • Wanneer een element meerdere keren voorkomt, gebruik lussen, list comprehensions, enumerate(), filter(), of externe bibliotheken zoals NumPy of more_itertools om alle indices te verzamelen.
  • Afvang altijd ValueError wanneer de gezochte waarde niet kan bestaan.

Python

  1. Beheersen van std::list in C++: Syntaxis, Functies & Praktische Voorbeelden
  2. Python print()-functie: Praktische handleiding met voorbeelden
  3. Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
  4. Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
  5. Python round()-functie uitgelegd met praktische voorbeelden
  6. Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
  7. Python timeit() – Uitvoeringstijd meten met praktische voorbeelden
  8. Python Counter in collections – Efficiënt tellen, updaten en rekenkundige operaties
  9. Python list.count(): Expert Gids met Praktische Voorbeelden
  10. Dubbele Elementen Verwijderen uit een Python Lijst
  11. Items Verwijderen uit een Python Lijst: remove(), pop(), clear() en del