Skip to content
Programmeren in Python, leer de nieuwste technieken
Programmeren in PythonProgrammeren in Python
  • Home
  • Blog
  • Documentatie
  • Cursussen
  • Tools
    • Python Paste
Programmeren in PythonProgrammeren in Python
  • Home
  • Blog
  • Documentatie
  • Cursussen
  • Tools
    • Python Paste

Introductie

3
  • 1.1 Wat is Python?
  • 1.2 Python installatie
  • 1.3 PyCharm Installatie

Basisprogrammering

6
  • 2.1 Python Basis: Variabelen, Datatypes en Operatoren
  • 2.2 Python if else (en elif)
  • 2.3 Python list (Array, Lijsten)
  • 2.4 Lussen: for, while, break, continue
  • 2.5 Functies: Definities, Parameters en Terugkeerwaarden
  • 2.6 Foutafhandeling: try, except, else, finally

Datatypes

13
  • 3.1 Introductie tot Geavanceerde Datatypes
  • 3.2 Python Tuple
  • 3.3 Python Set
  • 3.4 Python Dictionary
  • 3.5 Werken met Strings en String-methoden
  • 3.6 Collections Module: Krachtige Tools in Python
  • 3.7 Iterators en Generators
  • 3.8 List Comprehensions
  • 3.9 Geavanceerde Sortering
  • 3.10 Werken met Multi-dimensionale Data
  • 3.11 Typing en Datatypes
  • 3.12 Itertools voor Geavanceerde Iteraties
  • 3.13 Data Conversies

Modules

8
  • 4.1 Wat zijn Modules en Waarom zijn ze Belangrijk?
  • 4.2 Werken met Ingebouwde Modules
  • 4.3 Installeren en Gebruiken van Externe Pakketten
  • 4.4 Eigen Modules Maken
  • 4.5 Introductie tot Pakketten
  • 4.6 Importeren en Namespaces Begrijpen
  • 4.7 Geavanceerd: Relatief Importeren
  • 4.8 Organiseren van Grotere Projecten

Data Analyse

3
  • 5.1 Python Dataframe en Data Opschonen met Pandas
  • 5.2 Python Pandas Basisstatistieken en Data-analyse
  • 5.3 Python Numpy (NpArray): De Kracht van Numerieke Berekeningen

Webontwikkeling

5
  • 7.1 Inleiding tot Webontwikkeling
  • 7.2 HTTP-Verzoeken met requests: Communiceren met het Web
  • 7.3 Webscraping met BeautifulSoup: Data van het Web Halen als er geen APIs zijn
  • 7.4 Python Flask, een webserver & API tutorial
  • 7.5 WSGI & WebOb

Deploy

1
  • Deploy met Supervisor op Ubuntu
View Categories
  • Home
  • Documentatie
  • Datatypes
  • 3.8 List Comprehensions

3.8 List Comprehensions

2 minuten leestijd

In Python zijn list comprehensions een krachtige en elegante manier om lijsten te maken en te manipuleren. Ze maken je code korter, leesbaarder en vaak efficiënter. Stel je voor dat je in één regel een lijst kunt maken die normaal meerdere regels en een for-lus zou vereisen. Dat is precies wat een list comprehension doet! 🎉

Wat is een list comprehension? #

Een list comprehension is een compacte manier om een nieuwe lijst te maken door elementen te transformeren of te filteren uit een bestaande iteratie, zoals een lijst of een reeks getallen.

De basisvorm ziet er zo uit:

[uitdrukking for item in iterable if conditie]
Python

  • uitdrukking: Wat je wilt toevoegen aan de lijst.
  • for item in iterable: De iteratie, zoals een lijst of range.
  • if conditie(optioneel): Een filter om alleen bepaalde items toe te voegen.

Voordelen van list comprehensions #

  1. Compact en leesbaar: Minder code betekent minder kans op fouten.
  2. Efficiënt: Vaak sneller dan traditionele for-lussen, omdat ze direct in C zijn geïmplementeerd.
  3. Flexibel: Geschikt voor zowel eenvoudige als complexe bewerkingen.

Voorbeeld (vergelijking): Met een for-lus:

resultaat = []
for x in range(10):
    resultaat.append(x**2)
print(resultaat)  
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Python

Met een list comprehension:

resultaat = [x**2 for x in range(10)]
print(resultaat)  
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Python

Praktische voorbeelden #

1. Vierkantsgetallen genereren #

Doel: Maak een lijst met de kwadraten van getallen van 0 tot 9.

Met een list comprehension:

kwadraten = [x**2 for x in range(10)]
print(kwadraten)  
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Python

2. Filteren met een conditie #

Doel: Maak een lijst met alleen de even getallen van 0 tot 9.

Met een list comprehension:

even_getallen = [x for x in range(10) if x % 2 == 0]
print(even_getallen)  
# [0, 2, 4, 6, 8]
Python

3. Strings manipuleren #

Doel: Zet alle woorden in een lijst om naar hoofdletters.

Met een list comprehension:

woorden = ["hallo", "wereld", "python"]
hoofdletters = [woord.upper() for woord in woorden]
print(hoofdletters)  # ['HALLO', 'WERELD', 'PYTHON']
Python

Nestelen van list comprehensions #

List comprehensions kunnen ook worden genest. Dit betekent dat je een lijst binnen een lijst kunt genereren. Dit is handig voor het werken met matrices of andere geneste structuren.

1. Een geneste lijst maken #

Doel: Maak een 3×3 matrix gevuld met nullen.

Met een geneste list comprehension:

matrix = [[0 for _ in range(3)] for _ in range(3)]
print(matrix)  # [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Python

  • De buitenste comprehension maakt de rijen.
  • De binnenste comprehension maakt de kolommen.

2. Flatten van een geneste lijst #

Doel: Maak een enkele lijst van een geneste lijst.

Met een geneste list comprehension:

genest = [[1, 2], [3, 4], [5, 6]]
vlak = [item for sublijst in genest for item in sublijst]
print(vlak)  # [1, 2, 3, 4, 5, 6]
Python

3. Condities toevoegen in geneste list comprehensions #

Doel: Maak een lijst van paren (x, y) waarbij beide getallen even zijn.

Met een geneste list comprehension:

paren = [(x, y) for x in range(5) for y in range(5) if x % 2 == 0 and y % 2 == 0]
print(paren)  
# [(0, 0), (0, 2), (0, 4), 
# (2, 0), (2, 2), (2, 4), 
# (4, 0), (4, 2), (4, 4)]
Python

Veelvoorkomende fouten en tips #

  1. Te complexe list comprehensions vermijden:
    Als een list comprehension te lang wordt, kan het lastig worden om te lezen. Overweeg in dat geval een normale for-lus.
  2. Geen onveranderlijke structuren gebruiken:
    List comprehensions zijn bedoeld voor lijsten. Gebruik ze niet voor immutable types zoals tuples. (Gebruik in dat geval generator expressions.)
  3. Controleer de leesbaarheid:
    Hoewel compactheid aantrekkelijk is, moet je ervoor zorgen dat de code nog steeds begrijpelijk is.

Waarom list comprehensions gebruiken? #

  1. Ze zijn krachtig en compact.
    Een simpele syntax maakt complexe bewerkingen in één regel mogelijk.
  2. Ze verbeteren de leesbaarheid.
    Een goed geschreven list comprehension is intuïtief en duidelijk.
  3. Ze zijn vaak efficiënter.
    Omdat ze direct door Python worden uitgevoerd, kunnen ze sneller zijn dan traditionele for-lussen.

Samenvatting #

List comprehensions zijn een van de meest elegante en krachtige functies in Python. Ze stellen je in staat om lijsten te maken en te manipuleren met minimale code, terwijl ze toch efficiënt blijven. Of je nu vierkantsgetallen wilt genereren, een geneste lijst wilt verwerken, of gegevens wilt filteren, list comprehensions bieden een flexibele en leesbare oplossing.

Probeer de voorbeelden en experimenteer met je eigen ideeën. Je zult versteld staan hoe list comprehensions je programmeren eenvoudiger maken! 🚀🎉

Updated on december 23, 2024
3.7 Iterators en Generators3.9 Geavanceerde Sortering
Inhoudsopgave
  • Wat is een list comprehension?
  • Voordelen van list comprehensions
  • Praktische voorbeelden
    • 1. Vierkantsgetallen genereren
    • 2. Filteren met een conditie
    • 3. Strings manipuleren
  • Nestelen van list comprehensions
    • 1. Een geneste lijst maken
    • 2. Flatten van een geneste lijst
    • 3. Condities toevoegen in geneste list comprehensions
  • Veelvoorkomende fouten en tips
  • Waarom list comprehensions gebruiken?
  • Samenvatting
Programmeren in Python

Leer python op je eigen tempo met mooie interactieve hedendaagse voorbeelden.

© Copyright 2025 Programmeren in Python.
Sign inSign up

Sign in

Don’t have an account? Sign up
Lost your password?

Sign up

Already have an account? Sign in