We leerden reeds ints, floats en strings gebruiken om data voor te stellen. Het is héél vaak nuttig om meerdere gegevens samen bij te houden. Lists (lijsten van data) zijn een simpele manier om dit te doen.
We kunnen in Python een list declareren door onze gegevens tussen vierkante haken te plaatsen, gescheiden door komma’s:
priemgetallen = [2, 3, 5, 7, 11]
dobbelsteen = [1, 2, 3, 4, 5, 6]
namen = ["August", "Eva", "Emiel", "Zarah", "Lara", "Noor"]
De 3 variabelen priemgetallen
, dobbelsteen
en namen
kunnen dan doorheen het programma gebruikt worden.
Lijsten zijn verzamelingen waarbij de elementen in een vaste volgorde staan. Dergelijke geordende verzamelingen zijn in Python altijd geïndexeerd. Dit betekent dat je een element uit de lijst kan oproepen via de index.
namen = ["August", "Eva", "Emiel", "Zarah", "Lara", "Noor"]
index: 0 1 2 3 4 5
Merk op dat men voor de indexering begint te tellen vanaf 0. Het 0-de element van de lijst is dus "August"
, het vijfde is "Noor"
.
Via de index kunnen we elementen uit de lijst selecteren:
namen = ["August", "Eva", "Emiel", "Zarah", "Lara", "Noor"]
print(namen[0])
print(namen[3])
"August"
"Zarah"
We kunnen deze ook opslaan in een variabele en al dan niet later gebruiken:
dobbelsteen = [1, 2, 3, 4, 5, 6]
worp1 = dobbelsteen[2]
worp2 = dobbelsteen[4]
print(worp1)
print(worp1 + worp2)
3
8
Een string is net als een list een geordende verzameling, en is dus ook op net dezelfde manier geïndexeerd.
boodschap = "Informaticawetenschappen is leuk!"
print(boodschap[2])
'f'
Een truuc die voor deze module handig is heet ‘unpacking’. Je kan de elementen van een lijst in 1x elk in hun eigen variabele steken. Een voorbeeld legt dit het beste uit.
Stel dat je punten in 3D als lijsten voorstelt, dan kan je via unpacking de x, y en z component apart uithalen:
x, y, z = [1, 2, -4]
print(y)
2
# Functie die de rico van de rechte door P en Q teruggeeft.
def rico(P, Q):
x1, y1 = P
x2, y2 = Q
return (y2 - y1) / (x2 - x1)
A = [0, 0]
B = [5, 5]
C = [0, 5]
D = [1, 2]
print(rico(A, B))
print(rico(B, C))
print(rico(B, D))
1.0
-0.0
0.75