Page 51 - Demo
P. 51

TI Python BootCamp Python ITERATIES ITERATIES & FUNCTIES
1. Lijstcomprehensie
Lijstcomprehensie (sequentie-besef) is een geavanceerde constructie om lijsten te genereren. Het is gebaseerd op de wiskundige notatie om verzamelingen te definiëren:
𝑆 = {𝑥! | 𝑥 ∈ N, 𝑥 ≤ 10} = {0,1,4,9,16, 25,49,64,81, 100}.
D.m.v. van lijstcomprehensie declareren we als volgt een lijst met de
bovenstaande elementen: kwadraat=[x**2 for x in range(0,11)].
Men kan deze syntax ook gebruiken in combinatie met een if-statement: kwadraat=[x**2 for x in range(0,11) if x%2==0].
2. Map & filter
Python heeft ook de ingebouwde functies map() en filter() waarmee eenzelfde functie kan uitgevoerd worden op iedere item van een itereerbaar object, b.v. lijsten, strings, ...
We definiëren de functie kwadraat def kwadraat(x):
¨¨return x**2
We passen deze functie toe op de lijst [1,2,3,4,5]. Om een nieuwe lijst te
creëren moet het map()-statement in combinatie met list() gebruikt worden.
xvar=[1,2,3,4,5] yvar=list(map(kwadraat,xvar)) print(“x-Variabelen: ”,xvar) print(“y-Variablelen: “,yvar)
Met het filter()-statement kan een keuze gemaakt worden uit items van een itereerbaar object, items waarvoor een bepaalde functie waar is.
De onderstaande functie checkt of een getal even is: def even(x):
¨¨return x%2==0
En met het filter()-statement selecteren we de even getallen
uit de lijst getal=[0,1,2,3,4,5,6,7,8,9,10]: getal=[n for n in range(0,11)] even_getal=list(filter(even,getal)) print("Getallen: ",getal)
print("Even getallen: ",even_getal)
    © 2020 T3 Nederland – T3 Vlaanderen 1
www.t3nederland.nl – www.t3vlaanderen.be













































































   49   50   51   52   53