Ga naar hoofdinhoud

Lijst-methoden

Wat je al kent

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:

MethodeWat doet hij?Voorbeeld
.append(x)Voeg x toe aan het eindelijst.append("nieuw")
.insert(i, x)Voeg x toe op positie ilijst.insert(0, "eerste")
.remove(x)Verwijder de eerste x uit de lijstlijst.remove("hond")
.pop()Verwijder het laatste element en geef het teruglaatste = 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 ervoor
  • voeg_toe(taken, taak) — voegt een taak toe
  • verwijder(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: gebruik taken.pop(nummer - 1). De -1 is nodig omdat de gebruiker bij 1 begint te tellen, maar Python bij 0.
✅ Oplossing
def voeg_toe(taken, taak):
taken.append(taak)
print(f"Toegevoegd: {taak}")

def verwijder(taken, nummer):
taken.pop(nummer - 1)
Volgende les

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.