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
| Parameter | Beschrijving |
|---|---|
element | De waarde die je wilt lokaliseren. |
start | Optioneel. Begin zoeken vanaf deze index. Standaard is 0. |
end | Optioneel. 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
startenendparameters 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
ValueErrorwanneer de gezochte waarde niet kan bestaan.
Python
- Beheersen van std::list in C++: Syntaxis, Functies & Praktische Voorbeelden
- Python print()-functie: Praktische handleiding met voorbeelden
- Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
- Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
- Python round()-functie uitgelegd met praktische voorbeelden
- Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
- Python timeit() – Uitvoeringstijd meten met praktische voorbeelden
- Python Counter in collections – Efficiënt tellen, updaten en rekenkundige operaties
- Python list.count(): Expert Gids met Praktische Voorbeelden
- Dubbele Elementen Verwijderen uit een Python Lijst
- Items Verwijderen uit een Python Lijst: remove(), pop(), clear() en del