Ga naar hoofdinhoud

Python-lijstmethode index() uitgelegd met voorbeelden

Leer hoe je de functie index() van Python gebruikt om de positie van elementen in lijsten te vinden.
Bijgewerkt 2 jun 2026  · 6 min lezen

In Python helpt een datastructuur je om gegevens efficiënt te ordenen en op te slaan. Een veelgebruikte en veelzijdige structuur is een lijst, die verschillende soorten gegevens in een specifieke volgorde kan bevatten. Python biedt ook veel functies of methoden om te werken met lijsten.

In deze tutorial leer je over de Python-functie index(). De methode index() zoekt een element in de lijst en geeft de positie/index ervan terug. Eerst maak je kennis met lijsten, daarna zie je een paar eenvoudige voorbeelden van hoe je met de functie index() werkt.

Wil je alle voorbeeldcode in deze tutorial zelf makkelijk uitvoeren? Je kunt gratis een DataLab-werkboek aanmaken met vooraf geïnstalleerde Python en alle codevoorbeelden.

Wat is indexeren in Python?

In Python verwijst indexeren naar het benaderen van een specifiek element in een reeks, zoals een string of lijst, via zijn positie of indexnummer. Indexeren in Python begint bij 0, wat betekent dat het eerste element in een reeks index 0 heeft, het tweede element index 1, enzovoort. Als we bijvoorbeeld de string "Hello" hebben, kunnen we de eerste letter "H" benaderen met index 0 via blokhaken: string[0].

Python’s ingebouwde functie index() is een handig hulpmiddel om de index van een specifiek element in een reeks te vinden. Deze functie neemt een argument dat de te zoeken waarde voorstelt en geeft de index terug van het eerste voorkomen van die waarde in de reeks.

Als de waarde niet in de reeks wordt gevonden, genereert de functie een ValueError. Hebben we bijvoorbeeld een lijst [1, 2, 3, 4, 5], dan kunnen we de index van de waarde 3 vinden door list.index(3) aan te roepen; dit geeft de waarde 2 terug (omdat 3 het derde element in de lijst is en indexeren bij 0 begint).

De functie index() is krachtig in Python omdat ze het zoeken naar de index van een element in een reeks vereenvoudigt, zonder dat je lussen of voorwaardelijke logica hoeft te schrijven. Deze functie is vooral handig bij grote datasets of complexe structuren, waar handmatig zoeken tijdrovend en foutgevoelig kan zijn.

Wat is de functie index()?

De methode index() geeft de laagste index in de lijst terug waar het gezochte element voorkomt.

Laten we het proberen:

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 3
print(list_numbers.index(element)) # 2

Als je zoekt naar een element dat niet aanwezig is, levert dat een ValueError op.

list_numbers = [4, 5, 6, 7, 8, 9, 10]
element = 3 # Not in the list
print(list_numbers.index(element)) # Throws a ValueError

Werken met strings

Proberen we het met stringelementen:

list_numbers = [1, 'two', 3, 4, 5, 6, 7, 8, 9, 10]
element = 'two'
print(list_numbers.index(element)) # 1

Let op: Bij het zoeken in strings is index() hoofdlettergevoelig. Zo zal 'Hello'.index('h') een ValueError genereren.

De eerste vondst bepalen

Stel dat je meer dan één voorkomen van een element hebt, dan geeft index() je de eerste positie waar het element voorkomt.

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
element = 3
print(list_numbers.index(element)) # 0

De geretourneerde positie is 0, omdat 3 voor het eerst voorkomt op de eerste positie of de 0e index in Python.

Dit gebeurt er intern: de index doorloopt alle waarden vanaf de 1e positie (0e index) en zoekt naar het element waar je naar zoekt. Zodra de waarde is gevonden, geeft hij de positie terug en stopt. Dit is echter niet erg efficiënt bij een grote lijst wanneer je de positie van iets aan het einde van de lijst nodig hebt.

Start- en stop-parameters gebruiken

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
print(list_numbers.index(element, 5, 8)) # 6

De syntaxis is dus: list_name.index(element, start, stop).

Hierbij zijn de waarden start en stop optioneel. Gebruik ze alleen als je helemaal zeker bent van het bereik; anders krijg je een ValueError, zoals hieronder getoond.

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
print(list_numbers.index(element, 1, 5)) # Throws a ValueError

Alle voorkomens vinden

Aangezien index() alleen de eerste match van een object teruggeeft, kun je list comprehensions of een generator-expressie gebruiken als je de posities van meerdere matches in de lijst nodig hebt. Zo doe je dat:

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]

# List comprehension
print([i for i, n in enumerate(list_numbers) if n == 3]) # [0, 3, 4, 8]
list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
g = (i for i, n in enumerate(list_numbers) if n == 3) # Generator expression

print("Generators store values, the first value here is:", next(g), ". Then the next is:", next(g), "followed by ", next(g),"and finally ", next(g))

# Generators store values, the first value here is: 0. Then the next is: 3 followed by  4 and finally  8

Generators zijn geheugenefficiënt, omdat ze items één voor één opleveren in plaats van alle resultaten op te slaan zoals list comprehensions.

Tot slot

Gefeliciteerd, je hebt zojuist geleerd over de functie index() in Python! Je hebt gezien hoe die je kan helpen met lijsten te werken. Je hebt ook kennisgemaakt met een paar nieuwe concepten. Voor meer over list comprehensions, bekijk DataCamp’s tutorial Python List Comprehension. DataCamp’s Python Iterator Tutorial gaat dieper in op generators en generator-expressies.


Sejal Jaiswal's photo
Author
Sejal Jaiswal
LinkedIn

Ik heb in verschillende sectoren gewerkt en meerdere petten gedragen: softwareontwikkelaar, machine learning-onderzoeker, data scientist, productmanager. Maar in de kern ben ik een programmeur die graag leert en kennis deelt!

FAQs

Wat gebeurt er als meerdere waarden overeenkomen met het element waar ik naar zoek?

De methode index() geeft alleen de index van het eerste voorkomen van het overeenkomende element. Heb je alle posities nodig, gebruik dan een list comprehension met enumerate().

Kan ik index() gebruiken met tuples of strings?

Ja! De methode index() werkt op elk sequentietype, waaronder tuples en strings:

my_tuple = (1, 2, 3, 2)
print(my_tuple.index(2))  # Output: 1

text = "hello world"
print(text.index('o'))    # Output: 4

Is er een manier om ValueError netjes af te handelen?

Ja, omhul de aanroep van index() met een try...except-blok om crashes te voorkomen als het element niet wordt gevonden:

my_list = [1, 2, 3]
try:
    print(my_list.index(4))
except ValueError:
    print("Element not found.")

Hoe kan ik vanaf het einde van de lijst zoeken?

De methode index() ondersteunt geen zoeken in omgekeerde richting. Wil je het laatste voorkomen vinden, keer de lijst dan handmatig om of gebruik een comprehension:

my_list = [1, 2, 3, 2, 1]
last_index = len(my_list) - 1 - my_list[::-1].index(2)
print(last_index)  # Output: 3

Hoe verschilt index() van find()?

De methode find() wordt gebruikt bij strings en geeft -1 terug in plaats van een fout te genereren wanneer de waarde niet wordt gevonden. Lijsten hebben geen methode find().

text = "hello"
print(text.find('e'))  # Output: 1
print(text.find('z'))  # Output: -1

Kan ik index() gebruiken met geneste lijsten?

Ja, maar alleen op het bovenste niveau. index() zoekt niet binnen geneste structuren.

nested_list = [[1, 2], [3, 4]]
print(nested_list.index([3, 4]))  # Output: 1
# This won't work: nested_list.index(3)

Wat is de foutmelding "list index out of range"?

De fout "list index out of range" treedt op wanneer je probeert een index te benaderen die buiten het bereik van geldige indices voor een lijst ligt. Als een lijst bijvoorbeeld 5 elementen heeft, zijn de geldige indices 0 tot en met 4. Als je een index probeert te benaderen die groter is dan of gelijk is aan 5, krijg je deze fout.

Om de fout "list index out of range" te voorkomen, moet je ervoor zorgen dat de index die je probeert te benaderen binnen het geldige bereik voor de lijst valt. Je kunt de functie len() gebruiken om de lengte van een lijst op te vragen en te controleren of een index binnen het bereik van geldige indices ligt.

Wat is de foutmelding "list indices must be integers"?

De fout "list indices must be integers" treedt op wanneer je een niet-geheel getal als lijstindex gebruikt. Als je bijvoorbeeld een drijvendekommagetal of een string als lijstindex gebruikt, krijg je deze fout.

Om de fout "list indices must be integers" te voorkomen, moet je ervoor zorgen dat je een geheel getal als lijstindex gebruikt. Als je een niet-geheel getal als index moet gebruiken, kun je het omzetten naar een geheel getal met de functie int().

Onderwerpen

Leer meer over Python met deze cursussen!

Cursus

Introductie tot Python

4 Hr
6.9M
Leer de basis van data-analyse met Python in 4 uur. Deze online cursus laat je kennismaken met de Python-interface en populaire pakketten.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien