Lijst-methoden
Je kunt een lijst maken, elementen opzoeken met een index, en door een lijst loopen. In deze les leer je hoe je een lijst verandert: elementen toevoegen, verwijderen, of invoegen.
Lijst-methoden met een punt
Net als bij strings hebben lijsten methoden die je met een punt aanroept:
| Methode | Wat doet hij? | Voorbeeld |
|---|---|---|
.append(x) | Voeg x toe aan het einde | lijst.append("nieuw") |
.insert(i, x) | Voeg x toe op positie i | lijst.insert(0, "eerste") |
.remove(x) | Verwijder de eerste x uit de lijst | lijst.remove("hond") |
.pop() | Verwijder het laatste element en geef het terug | laatste = lijst.pop() |
dieren = ["kat", "hond", "vis"]
dieren.append("vogel")
print(dieren) # ['kat', 'hond', 'vis', 'vogel']
dieren.remove("hond")
print(dieren) # ['kat', 'vis', 'vogel']
laatste = dieren.pop()
print(laatste) # vogel
print(dieren) # ['kat', 'vis']
Probeer zelf
Maak een lijst boodschappen met "brood" en "melk". Voeg daarna "appels" toe en print de lijst.
boodschappen = [...] # Voeg "appels" toe ... print(boodschappen)
✅ Oplossing
boodschappen = ["brood", "melk"]
boodschappen.append("appels")
print(boodschappen)
Uitvoer: ['brood', 'melk', 'appels'].
🔎 Verdieping — Handige ingebouwde functies
Naast methoden zijn er een paar ingebouwde functies die werken op een lijst van getallen:
getallen = [3, 1, 4, 1, 5]
len(getallen) # 5 aantal elementen
sum(getallen) # 14 som van alle getallen
min(getallen) # 1 kleinste
max(getallen) # 5 grootste
sorted(getallen) # [1, 1, 3, 4, 5] gesorteerde kopie
Met deze functies hoef je geen for-loop te schrijven — Python doet het werk.
Predict
Wat print dit programma?
dieren = ["kat", "hond"]
dieren.append("vis")
dieren.insert(0, "hamster")
print(dieren)
print(len(dieren))
Bekijk het antwoord
['hamster', 'kat', 'hond', 'vis']
4
.append("vis") plakt achter, .insert(0, "hamster") schuift "hamster" op positie 0 (helemaal vooraan). Resultaat: 4 elementen.
Run
Voer de code uit en controleer.
Investigate
Wat is het verschil tussen .remove() en .pop()? Probeer dit:
dieren = ["kat", "hond", "vis"]
x = dieren.remove("hond")
y = dieren.pop()
print(dieren)
print("remove gaf terug:", x)
print("pop gaf terug:", y)
Bekijk het antwoord
['kat']
remove gaf terug: None
pop gaf terug: vis
.remove("hond")haalt"hond"weg en geeft niets terug (None)..pop()haalt het laatste element weg en geeft het wél terug, zodat je het kunt opvangen in een variabele.
Er gaat iets mis
Probeer een element te verwijderen dat niet bestaat:
dieren = ["kat", "vis"]
dieren.remove("hond")
Foutmelding:
ValueError: list.remove(x): x not in list
Waarom? .remove() zoekt het element in de lijst — als het er niet in zit, geeft Python een fout. Wil je het veilig doen? Check eerst met if "hond" in dieren:.
Modify
Pas de code aan zodat hij "vis" toevoegt aan het einde en "hond" verwijdert.
dieren = ["kat", "hond", "konijn"] # Voeg "vis" toe aan het einde ... # Verwijder "hond" ... print(dieren)
💡 Tip
.append("vis") en .remove("hond").
✅ Oplossing
dieren = ["kat", "hond", "konijn"]
dieren.append("vis")
dieren.remove("hond")
print(dieren)
Uitvoer: ['kat', 'konijn', 'vis'].
Make: Cijfergemiddelde
Gegeven een lijst cijfers, bereken het gemiddelde en tel hoeveel cijfers een voldoende (≥ 5.5) zijn.
Verwachte uitvoer (bij de gegeven lijst):
Gemiddelde: 6.2
Aantal voldoendes: 6
cijfers = [7, 4, 8, 5, 9, 3, 6, 8, 5, 7]
gemiddelde = sum(cijfers) / len(cijfers)
aantal_voldoende = 0
for cijfer in cijfers:
if ...:
aantal_voldoende += 1
print(f"Gemiddelde: {gemiddelde}")
print(f"Aantal voldoendes: {aantal_voldoende}")💡 Tip
In de loop: if cijfer >= 5.5: → aantal_voldoende += 1. (Zie de verdieping voor sum() en len().)
✅ Oplossing
cijfers = [7, 4, 8, 5, 9, 3, 6, 8, 5, 7]
gemiddelde = sum(cijfers) / len(cijfers)
aantal_voldoende = 0
for cijfer in cijfers:
if cijfer >= 5.5:
aantal_voldoende += 1
print(f"Gemiddelde: {gemiddelde}")
print(f"Aantal voldoendes: {aantal_voldoende}")
Make Bonus: To-do lijst manager
Bouw een to-do lijst met drie functies:
toon_taken(taken)— print alle taken met een nummer ervoorvoeg_toe(taken, taak)— voegt een taak toeverwijder(taken, nummer)— verwijdert de taak op de opgegeven plek (gebruiker telt vanaf 1)
def toon_taken(taken):
print("=== Mijn To-Do Lijst ===")
for i in range(len(taken)):
print(f" {i + 1}. {taken[i]}")
print()
def voeg_toe(taken, taak):
# Voeg de taak toe met .append()
...
print(f"Toegevoegd: {taak}")
def verwijder(taken, nummer):
# Verwijder de taak op positie (nummer - 1)
...
mijn_taken = []
voeg_toe(mijn_taken, "Python oefenen")
voeg_toe(mijn_taken, "Boodschappen doen")
voeg_toe(mijn_taken, "Kamer opruimen")
toon_taken(mijn_taken)
verwijder(mijn_taken, 2)
toon_taken(mijn_taken)💡 Tip
voeg_toe: één regel —taken.append(taak).verwijder: gebruiktaken.pop(nummer - 1). De-1is nodig omdat de gebruiker bij1begint te tellen, maar Python bij0.
✅ Oplossing
def voeg_toe(taken, taak):
taken.append(taak)
print(f"Toegevoegd: {taak}")
def verwijder(taken, nummer):
taken.pop(nummer - 1)
Een lijst is genummerd. Maar wat als je gegevens wilt opzoeken via een naam in plaats van een nummer? Bijvoorbeeld een telefoonboek waar je een naam intypt en een nummer terugkrijgt. Daar zijn dictionaries voor.