Een Python List is één van de zaken die je dagelijks zult tegenkomen als je Python wil leren. Een list is zo handig omdat je veel datapunten in 1x op kunt slaan. Stel je maar eens voor dat je ieder datapunt in een aparte variabele op zou moeten slaan; dat zou geen doen zijn. Een dataset in Python bestaat dan ook vaak uit een lijst van lijsten, een 'list of lists'.
Hoe maak ik een Python list?
Een Python list maken is zeer eenvoudig:
- Je scheidt de datapunten die je op wilt slaan in je dataset met een comma
- Je zet blokhaken "[" en "]" om de reeks datapunten heen
Een lijst kan verschillende data types bevatten, bijvoorbeeld strings, integers, of floats. Een lijst kan bovendien iedere hoeveelheid datapunten bevatten. Onderstaand vind je enkele voorbeelden van Python lists.
een_lege_lijst = []
een_lijst_met_integers = [1, 3, 5, 4]
een_lijst_met_floats = [1.4, 1.3, 4.253]
een_mix_van_data_types = ['mix', 1.6, 6, [1, 3, 6]]
In het laatste voorbeeld zie je dat een Python list óók weer een list kan bevatten. Dit noemt men ook wel een 'nested list'. Je hoeft geen package te installeren om met lists te kunnen werken.
Hoe selecteer ik een datapunt uit een lijst?
Ieder element uit een Python list heeft een 'eigen' nummer; een index nummer. Het eerste index nummer is altijd een 0 en het volgende nummer is steeds één integer hoger (zie onderstaand voorbeeld).
Als je hebt bepaald op welke positie het datapunt dat je wilt selecteren zich bevindt dan kun je als volgt het datapunt selecteren:
een_lijst_met_floats[2]
Dit geeft als output 4.253.
Stel dat je met een lijst in een lijst werkt, dan ga je als volgt te werk:
een_mix_van_data_types = ['mix', 1.6, 6, [1, 3, 6]]
een_mix_van_data_types[3][1]
Dit geeft als output 3 omdat je uit de eerste lijst het vierde element selecteert en uit die lijst vervolgens het tweede element.
Negative indexing
Het komt wel eens voor dat je juist een van de laatste datapunten uit een lijst wilt hebben. Om te voorkomen dat je moet achterhalen op welke positie een element zich bevindt kun je de lijst vanaf het einde benaderen met negative indexing.
eenLijstMetFloats[-2] zal dus als output 1.3 geven.
Hoe selecteer ik een gedeelte van een lijst?
Je kunt een gedeelte van een Python list selecteren met 'list slicing'. Dit gebruik je als data scientist veel, omdat je vaak maar enkele waarden uit een veel grotere dataset wilt gebruiken.
Als je een selectie maakt uit een lijst met list slicing ga je als volgt te werk:
- Je bepaalt het eerste en het laatste element dat je wilt selecteren
- Bepaal de index waarden van die elementen
- Selecteer jouw stuk uit de lijst met de code jouwLijst[a:b] waarbij:
- a = het eerste element dat je in de list slice wilt hebben
- b = één indexnummer hoger dan het laatste element dat je in je slice wilt hebben. Dus als je tot en met indexnummer 2 wilt selecteren, dan is b = 3
Als je 'a' of 'b' weglaat selecteer je vanaf het begin of tot het einde van de lijst. Enkele voorbeelden:
# output [1.6, 6]
een_mix_van_data_types = ['mix', 1.6, 6, [1, 3, 6]]
een_mix_van_data_types[1:3]
# output [6, [1, 3, 6]]
een_mix_van_data_types = ['mix', 1.6, 6, [1, 3, 6]]
een_mix_van_data_types[2:]
# output ['mix', 1.6, 6]
een_mix_van_data_types = ['mix', 1.6, 6, [1, 3, 6]]
een_mix_van_data_types[:3]
Hoe verander je datapunten uit een lijst / voeg je datapunten toe?
Om datapunten te veranderen ken je op de volgende manier nieuwe waarden toe aan een lijst.
voorbeeld_lijst = [1, 2, 3, 5, 6]
# output [1, 2, 2, 5, 6]
voorbeeld_lijst[2] = 2
# output [1, 2, 2, 1, 1]
voorbeeld_lijst[3:5] = [1, 1]
Om een lijst uit te breiden met nieuwe datapunten kun je de methods append() (voegt één element toe) en extend() (voegt meerdere elementen toe) gebruiken.
voorbeeld_lijst = [1, 2, 3, 5, 6]
# output [1, 2, 3, 5, 6, 4, 4, 4]
voorbeeld_lijst.extend([4, 4, 4])
# output [1, 2, 3, 5, 6, 4, 4, 4, 5]
voorbeeld_lijst.append(5)
Het verwijderen van datapunten is ook eenvoudig met de opdracht del, oftewel delete.
# output [1, 2, 3, 6]
voorbeeld_python_list = [1, 2, 3, 5, 6]
del voorbeeld_python_list[3]
print(voorbeeld_python_list)
# output [3, 5, 6]
voorbeeld_python_list = [1, 2, 3, 5, 6]
del voorbeeld_python_list[:2]
print(voorbeeld_python_list)
Ook remove(), pop() en clear() kunnen worden gebruikt om elementen te verwijderen of Python lists volledig leeg te maken.
- remove() zorgt ervoor dat het element dat je ingeeft wordt verwijderd uit een lijst
- pop() zorgt ervoor dat je een element op een bepaald indexnummer kunt verwijderen
- clear() gebruik je om een volledige lijst leeg te maken
Interessante verdieping: met een for loop kun je over een lijst itereren. Het is belangrijk dat je dit concept beheerst. Lees hier een volledige uitleg over de for loop.
Wil je nog veel meer leren over Python en Data Science? Schrijf je dan in voor onze Python cursus voor data science, onze machine learning training, of voor onze data science opleiding en leer met vertrouwen te programmeren en analyseren in Python. Nadat je een van onze trainingen hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen als je een vraag hebt.
Download één van onze opleidingsbrochures voor meer informatie
Rik is data scientist en marketeer bij Data Science Partners. Vanuit zijn achtergrond op de Technische Universiteit Eindhoven heeft hij veel affiniteit met data. Na zijn studie heeft hij als consultant altijd met data gewerkt en tevens ervaring opgedaan in het geven van trainingen.