ID.nl logo
Zo kun je programmeren in Python - Deel 2
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 2

Na onze eerste kennismaking met Python is het tijd om wat complexere datastructuren te bekijken: lijsten en dictionary’s. We duiken ook in de structuur van strings, zodat je afzonderlijke letters kunt manipuleren. Start je Python-interpreter maar alvast op!

In de vorige les leerde je met drie datatypes in Python werken: int, float en str. Vooral int en float zijn vrij eenvoudige datatypes. Maar in veel programma’s heb je types met meer structuur nodig, we noemen dit ook wel datastructuren. In dit deel leer je met twee belangrijke datastructuren van Python werken.

Lijsten

In veel programma’s werk je niet met één specifiek gegeven, maar met een hele reeks. Een lijst (in Python list) is daarvoor ideaal. Zo maak je bijvoorbeeld een lijst met namen aan:

>>> namen = ['kees', 'jan', 'pieter', 'jan', 'joris', 'rob']>>> len(namen)

6

>>> lege_lijst = []

>>> len(lege_lijst)

0

De functie len, die we uit de vorige les kennen om de lengte van een string terug te geven, werkt ook op een lijst: dan krijg je het aantal elementen in die lijst.

Overigens kan een lijst elementen van verschillende types bevatten, zoals een float, twee strings en een int. Maar vaak heeft een lijst alleen elementen van hetzelfde type.

Functies, parameters en argumenten

Python deelt heel wat functionaliteit op in functies: stukjes code die een specifieke taak uitvoeren, zoals len om de lengte van een lijst of string op te vragen. Een functie kan een parameter hebben: een variabele waarmee de functie werkt en die als waarde het object krijgt dat je aan die functie doorgeeft. Dat object noemen we het argument van de functie. Een functie kan ook meerdere parameters (en dus argumenten) hebben. In deel 6 leer je je eigen functies definiëren en wordt dit allemaal nog veel duidelijker.

Elementen in een lijst

Python kent ook heel wat mogelijkheden om met de elementen in een lijst te werken. Zo vraag je eenvoudig een element uit de lijst op een specifieke positie (ook ‘index’ genoemd) op:

>>> namen[2]'pieter'

Merk op dat de positie in een lijst vanaf 0 begint te tellen: het eerste element is namen[0], het tweede namen[1], het derde namen[2] enzovoort. Je zou dan denken dat je het laatste element moet opvragen met:

>>> namen[len(namen)-1]'rob'

Dat werkt inderdaad, maar Python laat ook een negatieve positie toe, waarmee je vanachter in de lijst begint te tellen. Het laatste element heeft dan positie -1:

>>> namen[-1]'rob'>>> namen[-2]'joris'

Als je goed hebt opgelet, zie je dat de string ‘jan’ twee keer in bovenstaande lijst zit. Dat aantal keren kun je opvragen met de functie count:

>>> namen.count('jan')2>>> namen.count('pieter')1>>> namen.count('koen')0

Je kunt ook de positie van een element in een lijst opvragen:

>>> namen.index('jan')1>>> namen.index('pieter')2>>> namen.index('koen')Traceback (most recent call last):File "<stdin>", line 1, in <module>ValueError: 'koen' is not in list

Zoals je ziet krijg je een foutmelding (ValueError) als het gevraagde element zich niet in de lijst bevindt. Voor een element dat zich meerdere keren in de lijst bevindt, geeft de functie index alleen de eerste positie terug. Maar je kunt ook vragen om vanaf een specifieke positie te zoeken:

>>> namen.index('jan', 2)3

Een lijst veranderen

Als je een lijst hebt aangemaakt, kun je die nog altijd veranderen. In het eenvoudigste geval verander je bijvoorbeeld één element:

>>> namen['kees', 'jan', 'pieter', 'jan', 'joris', 'rob']>>> namen[1] = 'koen'>>> namen['kees', 'koen', 'pieter', 'jan', 'joris', 'rob']

Je kunt een lijst ook omdraaien of sorteren:

>>> namen.reverse()>>> namen['rob', 'joris', 'jan', 'pieter', 'koen', 'kees']>>> namen.sort()>>> namen['jan', 'joris', 'kees', 'koen', 'pieter', 'rob']

Verder kun je ook een element aan het einde van een lijst toevoegen, of op een specifieke positie tussen de andere elementen voegen:

>>> namen['jan', 'joris', 'kees', 'koen', 'pieter', 'rob']>>> namen.append('aniek')>>> namen['jan', 'joris', 'kees', 'koen', 'pieter', 'rob', 'aniek']>>> namen.insert(0, 'lies')>>> namen['lies', 'jan', 'joris', 'kees', 'koen', 'pieter', 'rob', 'aniek']>>> namen.insert(4, 'mireille')>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'pieter', 'rob', 'aniek']

Je kunt ook bestaande elementen verwijderen. Zo verwijder je met de functie remove(x) het eerste element waarvan de waarde gelijk is aan x:

>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'pieter', 'rob', 'aniek']>>> namen.remove('pieter')>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'rob', 'aniek']>>> namen.remove('pieter')Traceback (most recent call last):File "<stdin>", line 1, in <module>ValueError: list.remove(x): x not in list

Zoals je ziet, krijg je een foutmelding als je vraagt om een element te verwijderen dat niet in de lijst zit.

Je kunt ook een element op een gegeven positie verwijderen. Dat doe je met de functie pop:

>>> namen['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'rob', 'aniek']>>> namen.pop(2)'joris'>>> namen['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek']

Als je goed hebt opgelet, zie je dat de functie pop niet alleen een element verwijdert, maar op de opdrachtregel ook als waarde het verwijderde element teruggeeft ('joris').

Snijden in een lijst

Python heeft een krachtige manier om een lijst in stukken te snijden: ‘slicing’. Herinner je de notatie [n] voor het n-de element? Met [n:] krijg je de elementen terug vanaf index n, met [:n] de elementen tot index n (niet inbegrepen) en met [m:n] de elementen van index m tot n (die laatste niet inbegrepen). Enkele voorbeelden maken dit duidelijk:

>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> namen[1:]['jan', 'kees', 'mireille', 'koen', 'rob']>>> namen[:4]['lies', 'jan', 'kees', 'mireille']>>> namen[1:4]['jan', 'kees', 'mireille']

Omdat Python begint te tellen vanaf 0 en in de beginpositie van een slice het element zelf meerekent maar in de eindpositie niet, is de notatie van slicing nogal verwarrend. Het helpt daarom om deze posities te beschouwen als de posities van de komma’s in de lijst, te tellen vanaf 1. Alles tussen de komma’s op die posities is dan de gevraagde slice. Neem bijvoorbeeld namen[1:4]. Omdat namen gelijk is aan ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'], nemen we alles tussen de eerste en de vierde komma, dus van vóór 'jan' tot ná 'mireille', oftewel ['jan', 'kees', 'mireille'].

Slicing is ook een krachtige manier om een deel van een lijst te veranderen. Zo vervang je eenvoudig voorgaande slice in de lijst door een andere naam:

>>> namen['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> namen[1:4] = ['bas']>>> namen['lies', 'bas', 'koen', 'rob']

Nog eens strings

In een string krijg je net zoals in een lijst toegang tot het n-de element met de notatie [n]. Zo krijg je met 'aniek'[1] het tweede teken van de string 'aniek', of de letter n. Ook slicing werkt bij een string: 'aniek'[1:4] is gelijk aan nie. Maar let op: in tegenstelling tot een lijst kun je een string niet veranderen. De poging 'aniek'[1:4] = 'r' geeft een foutmelding.

Dictionary’s

In een lijst heeft elk element als index zijn positie, zodat je eenvoudig het element op een specifieke positie kunt opvragen. Een andere datastructuur is de ‘dictionary’, die als index voor zijn elementen een sleutel gebruikt, vaak een string of een getal. Elke sleutel van de dictionary moet uniek zijn, zodat je eenvoudig de waarde die bij een specifieke sleutel hoort kunt opvragen.

Een voorbeeld maakt duidelijk hoe je met een dictionary werkt:

>>> scores = {'lies': 5, 'bas': 2, 'kees': 1, 'aniek': 3}>>> scores['aniek']3>>> scores['bert']Traceback (most recent call last):File "<stdin>", line 1, in <module>KeyError: 'bert'>>> len(scores)4

Op deze manier kun je eenvoudig de score van een persoon opvragen op basis van zijn of haar naam. Je ziet hier ook dat je een foutmelding krijgt als je een element opvraagt met een index die niet in de dictionary bestaat.

Een dictionary kun je net zoals een lijst veranderen. Je kunt de waarde bij een specifieke sleutel veranderen, maar je kunt even eenvoudig een nieuw element toevoegen: ken gewoon een waarde toe aan een nieuwe sleutel. Bijvoorbeeld:

>>> scores{'lies': 5, 'bas': 2, 'kees': 1, 'aniek': 3}>>> scores['lies'] += 1>>> scores{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3}>>> scores['bert'] = 1>>> scores{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3, 'bert': 1}

Een sleutel en de bijbehorende waarde uit de dictionary verwijderen, doe je met het speciale keyword del:

>>> scores{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3, 'bert': 1}>>> del scores['kees']>>> scores{'lies': 6, 'bas': 2, 'aniek': 3, 'bert': 1}

Samenvatting

In dit deel zijn we lang stil blijven staan bij een van de meest gebruikte datastructuren in Python: de lijst. De kennis die je hebt opgedaan over lijsten, kun je voor heel wat andere datatypes in Python hergebruiken. Zo toonden we hoe de notatie voor een index en voor ‘slicing’ hetzelfde is bij een string. Een ander belangrijk datatype dat je in dit deel zag, is de dictionary, waarin je geen positie maar een sleutel als index gebruikt. In het volgende deel verlaten we de interactieve Python-sessies en schrijven we onze eerste programma’s.

Opdracht 1

Je hebt de volgende lijst met namen: >>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek'] Splits deze lijst in zijn laatste element en de rest van de lijst.

Uitwerking opdracht 1

*>>> namen ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek']

laatste_persoon = namen.pop() namen ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'] laatste_persoon 'aniek'* Dit is een veel gebruikte toepassing van de functie pop(), die niet alleen het element op een specifieke index verwijdert, maar ook het verwijderde element teruggeeft. Waarschijnlijk heb je deze opdracht opgelost met: laatste_persoon = namen.pop(-1) Maar de -1 is niet nodig: zonder index geeft de functie pop het laatste element terug.

Opdracht 2

Haal uit een string alle tekens behalve het eerste en het laatste.

Uitwerking opdracht 2

*>>> naam = 'aniek'

naam[1:-1] 'nie'* Slicing werkt bij een string exact zoals bij een lijst. Bovendien kunnen we ook gebruikmaken van een negatieve index in slicing: -1 verwijst dan naar het laatste element. Omdat Python begint te tellen vanaf 0 en in de beginpositie van een slice het teken zelf meerekent maar in de eindpositie niet, verwijst de slice [1:-1] dus naar alle tekens in de string behalve het eerste en het laatste.

Cheatsheet

datastructuur: een datatype dat uit elementen bestaat die met elkaar samenhangen. dictionary: een datastructuur waarin je elementen opvraagt aan de hand van een unieke sleutel. index (in een lijst): positie van een element in een lijst, te beginnen vanaf 0. index (in een dictionary): sleutel van een element waarmee het uit een dictionary op te vragen is. lijst: een datastructuur waarin je elementen opvraagt aan de hand van hun positie. slicing: het in stukken snijden van een lijst of string.

▼ Volgende artikel
Liebherr IRd 3900: waarom dit de favoriete inbouwkoelkast van 2025 is
Huis

Liebherr IRd 3900: waarom dit de favoriete inbouwkoelkast van 2025 is

Wat maakt een koelkast de allerbeste van het jaar? Niet een glanzende folder vol beloftes, maar de dagelijkse ervaringen van echte gebruikers. De Liebherr IRd 3900 is door consumenten van Kieskeurig.nl bekroond met de prestigieuze Best Reviewed van het Jaar-award 2025. Van de slimme EasyFresh-technologie tot het fluisterstille ontwerp en de praktische indeling: lees waarom dit model als de absolute favoriet uit de bus kwam en waarom gebruikers er zo enthousiast over zijn.

Partnerbijdrage - in samenwerking met Liebherr

Wie een inbouwkoelkast zoekt, heeft enorm veel keuze, maar één model wist het afgelopen jaar de harten van de Nederlandse consument echt te veroveren. Met zijn doordachte design, gebruiksvriendelijke bediening en bewezen betrouwbaarheid is de Liebherr IRd 3900 uitgeroepen tot Best Reviewed van het Jaar 2025. In dit artikel lees je wat deze inbouwkoelkast zo bijzonder maakt – en waarom gebruikers er zo lovend over zijn.

De stem van de consument: Best Reviewed 2025

De beste keuze volgens consumenten – dat is waar het bij Best Reviewed 2025 om draait. Want niets zegt zo veel als de ervaring van andere gebruikers. Jaarlijks delen duizenden consumenten hun eerlijke mening op Kieskeurig.nl. Hun reviews vormen de basis voor de Best Reviewed-awards. De producten die deze titel verdienen, hebben zich een heel jaar lang bewezen in de praktijk: ze blinken uit in kwaliteit, gebruiksgemak en klanttevredenheid. Absolute consumentenfavorieten dus – en in de categorie inbouwkoelkasten is de Liebherr IRd 3900 de winnaar geworden.

Van EasyFresh tot verstelbare indeling

De Liebherr IRd 3900 is een inbouwkoelkast die laat zien waarom het Duitse merk al jaren bekendstaat om betrouwbaarheid en technische vernieuwing. Deze koelkast combineert een strak, tijdloos design met praktische functies die het dagelijks leven makkelijker maken. Dankzij het EasyFresh-systeem blijven groenten en fruit langer vers: de ideale luchtvochtigheid in de lade voorkomt uitdroging en zorgt dat smaak en textuur behouden blijven. Dat maakt het apparaat niet alleen zuinig in gebruik, maar helpt ook voedsel langer goed te houden en verspilling te beperken.

©Liebherr

Wie de deur opent, merkt direct de doordachte indeling. Het interieur en de deurvakken zijn over de volledige hoogte verstelbaar, zodat je er moeiteloos alles in kwijt kunt wat koel moet blijven: of dat nu hoge flessen zijn of een brede ovenschotel. Fijn daarbij is dat de glazen draagplateaus tot wel 30 kg kunnen dragen. Daarbij zorgt de heldere LED-plafondverlichting voor een perfect overzicht, zelfs wanneer de koelkast vol is. De bediening verloopt via een intuïtief Touch-display, waarmee je supersnel de temperatuur of functies kunt aanpassen. Bovendien is de IRd 3900 voorbereid op SmartHome-toepassingen (accessoire). Liebherr biedt, na registratie, maar liefst 10 jaar garantie op dit model – dat doe je als merk natuurlijk alleen maar wanneer je helemaal overtuigd bent van je product.

©Liebherr

Waarom gebruikers enthousiast zijn

Die combinatie van slimme technologie en gebruiksgemak is ook precies wat consumenten zo waarderen. Uit tientallen reviews op Kieskeurig.nl blijkt dat gebruikers de IRd 3900 een uitzonderlijk hoge gemiddelde score van 9,1 geven. De koelkast wordt geroemd om zijn stille werking – "Dan zet je hem aan en hoor je nagenoeg niets! Heerlijk stille koelkast!" – en om de praktische indeling die volgens velen "fijn en flexibel" is. Ook wat betreft dagelijks gemak scoort de IRd 3900 hoog. "Door het digitale display makkelijk in te stellen naar de gewenste koeltemperatuur", zegt een van de reviewers. Een ander voegt daar nog aan toe: "Mooie heldere verlichting … Makkelijke display, goed zichtbaar en makkelijk te bedienen." Daarnaast valt op dat veel reviewers de energiezuinigheid en afwerking noemen als pluspunten: het apparaat voelt degelijk aan en doet precies wat het belooft.

©Liebherr

Een optelsom van kwaliteiten

De reden dat de Liebherr IRd 3900 de titel Best Reviewed van het Jaar 2025 heeft gewonnen, ligt dus in de optelsom van al deze kwaliteiten. Hij combineert gedegen techniek met praktische voordelen die in het dagelijks leven écht verschil maken. Of het nu gaat om de versheid van producten, het handige display of het overzichtelijke interieur: deze inbouwkoelkast weet consumenten te overtuigen in alles wat ertoe doet. En dat maakt de Liebherr IRd 3900 niet alleen een technisch sterk product, maar vooral een betrouwbare huisgenoot waar mensen jarenlang plezier van hebben.

Een eerlijk oordeel

Natuurlijk is geen enkel product perfect. Gebruikers op Kieskeurig.nl zijn ook kritisch: sommige kopers vinden de groente- en fruitlade aan de kleine kant of noemen dat er sneller condens kan ontstaan. Een paar mensen geven ook aan dat je even moet wennen aan het instellen via het display, en dat de montage van de deur wat meer aandacht vraagt. Tegelijk zie je waarom dat voor de meeste kopers geen struikelblok is. Ze benadrukken vooral hoe stil de koelkast is, hoe ruim hij aanvoelt en hoe makkelijk je de indeling aanpast aan wat je in huis haalt. Daardoor wegen die minpunten voor veel mensen niet op tegen wat je dagelijks merkt: rust in de keuken, goed overzicht en een indeling die je naar eigen wens kunt aanpassen.

Ontdek alle pluspunten van de Liebherr IRd 3900

Op Kieskeurig.nl
▼ Volgende artikel
Zo zien The Beatles er uit in de aankomende films
Huis

Zo zien The Beatles er uit in de aankomende films

Er zijn eerste foto's uitgekomen van de acteurs in de rol van The Beatles voor de aankomende vier films rondom de legendarische Britse band.

Het Liverpool Institute for Performing Arts (LIPA) deelde via social media officiële ansichtkaarten van de aankomende films, waarop die vier acteurs te zien zijn in de rol van de The Beatles-bandleden. Kort daarna werden de afbeeldingen als officiële foto's naar buiten gebracht. Ze zijn hieronder te zien.

Op de foto's zien we Paul Mescal (Normal People, Gladiator 2) als Paul McCartney, Harris Dickinson (Triangle of Sadness, Babygirl) als John Lennon), Barry Keoghan (Saltburn, The Killing of a Sacred Dear) als Ringo Starr en Joseph Quinn (The Fantasic Four: First Steps, Stranger Things) als George Harrison. Fans merken op dat de gelijkenissen tussen de acteurs en de bandleden erg goed gelukt zijn.

View post on X

Over de Beatles-films

Het is al geruime tijd bekend dat Sam Mendes (American Beauty, 1917, Spectre) aan vier The Beatles-films werkt, waarbij elke film zich op een ander lid van de band richt. De vier films verschijnen onder de naam 'The Beatles - A Four-Film Cinematic Event'. De films zullen alle vier op 7 april 2028 in de bioscoop draaien.

The Beatles behoeven eigenlijk geen introductie: de band, die actief was van 1960 tot 1970, worden beschouwd als de meest invloedrijke band uit de geschiedenis van popmuziek. Met nummers als 'Yesterday', 'Let It Be', 'All You Need is Love', 'Hey Jude' en 'Here Comes the Sun' waren ze niet weg te slaan uit de hitlijsten, en zorgden vele miljoenen fans wereldwijd voor 'Beatlemania'.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.