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

Introductie

4
  • 1.1 Wat is Python?
  • 1.2 Python installatie
  • 1.2.1 Python installeren voor MacOS
  • 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 Python Lussen: for loop, while loop, break, continue
  • 2.5 Python 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

Object Georiënteerd Programmeren

8
  • Wat is Objectgeoriënteerd Programmeren (OOP) in Python?
  • Python class & object maken
  • self en __init__ uitgelegd (met voorbeelden)
  • Attributen afschermen: @property (getters/setters)
  • Overerving in Python + super() (en wanneer je het beter níet doet)
  • Dunder methods: __str__, __repr__, vergelijken (en waarom dit je OOP-code “Pythonic” maakt)
  • @dataclass: snelle nette classes (minder boilerplate, meer duidelijkheid)
  • OOP in de praktijk: design & structuur
View Categories
  • Home
  • Documentatie
  • Datatypes
  • 3.10 Werken met Multi-dimensionale Data

3.10 Werken met Multi-dimensionale Data

2 minuten leestijd

In veel programmeerproblemen werk je niet alleen met eenvoudige lijsten, maar ook met gegevens die meerdere dimensies hebben, zoals tabellen, matrices, of zelfs 3D-modellen. Python biedt krachtige tools om met zulke multi-dimensionale data te werken, van nested lists tot numpy arrays. In dit hoofdstuk leer je hoe je deze structuren kunt begrijpen, gebruiken en bewerken!

Nested Lists #

Een nested list (geneste lijst) is een lijst die andere lijsten bevat. Dit is handig voor het representeren van data in meerdere dimensies, zoals een matrix (een tabel van rijen en kolommen).

Hoe werken nested lists? #

Je kunt een nested list zien als een lijst binnen een lijst:

matrix = [
    [1, 2, 3],  # Rij 1
    [4, 5, 6],  # Rij 2
    [7, 8, 9]   # Rij 3
]
Python

Hier kun je de gegevens op dezelfde manier benaderen als een spreadsheet:

  • matrix[0] geeft de eerste rij terug: [1, 2, 3]
  • matrix[1][2] geeft het element in de tweede rij en derde kolom: 6

Voorbeeld:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print(matrix[0])      
# Toont: [1, 2, 3]
print(matrix[1][2])   
# Toont: 6
Python

Itereren door een nested list #

Je kunt een nested list doorlopen met geneste for-lussen:

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for rij in matrix:
    for item in rij:
        print(item, end=" ")
# Uitvoer: 1 2 3 4 5 6 7 8 9
Python

Flattening: Geneste lijsten “plat” maken #

Soms wil je een geneste lijst omzetten naar een eenvoudige, platte lijst. Dit proces heet flattening. Een krachtige manier om dit te doen is met een list comprehension.

Hoe werkt flattening? #

Voorbeeld:

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

Wat gebeurt hier?

  1. De buitenste for-lus loopt door elke sublijst in de geneste lijst.
  2. De binnenste for-lus haalt elk item uit de sublijst.
  3. Elk item wordt toegevoegd aan de nieuwe, platte lijst vlak.

Alternatief met een functie: Als je dit vaker nodig hebt, kun je een functie maken:

def flatten(geneste_lijst):
    return [item for sublijst in geneste_lijst for item in sublijst]

genest = [[1, 2], [3, 4], [5]]
print(flatten(genest))  
# Toont: [1, 2, 3, 4, 5]
Python

Inleiding tot numpy arrays #

numpy is een populaire Python-bibliotheek die speciaal is ontworpen voor efficiënte numerieke berekeningen. Het biedt een krachtige datastructuur, de numpy array, die ideaal is voor het werken met multi-dimensionale data, zoals matrices.

Waarom numpy gebruiken? #

  1. Efficiëntie:
    numpy arrays zijn sneller en nemen minder geheugen in beslag dan geneste lijsten.
  2. Makkelijker rekenen:
    Met numpy kun je wiskundige operaties uitvoeren op hele arrays zonder expliciete lussen.
  3. Rijk aan functionaliteit:
    numpy bevat tools voor matrixbewerkingen, lineaire algebra, statistieken en nog veel meer.

Wanneer numpy gebruiken? #

Als je werkt met grote datasets of veel numerieke berekeningen moet uitvoeren, is numpy onmisbaar. Denk aan toepassingen zoals:

  • Data-analyse
  • Machine learning
  • Wetenschappelijke berekeningen

Hoe werkt een numpy array? #

Je kunt een numpy array zien als een verbeterde versie van een lijst. Het ondersteunt meerdere dimensies en biedt eenvoudige toegang tot rijen, kolommen en individuele elementen.

Voorbeeld: Een numpy array maken

import numpy as np

# Maak een 2D-array
matrix = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
])

print(matrix)
Python

Uitvoer:

[[1 2 3]
 [4 5 6]
 [7 8 9]]
Python

Toegang tot elementen: Net zoals bij geneste lijsten kun je items benaderen met rijen en kolommen:

print(matrix[0, 1])  
# Toont: 2 (eerste rij, tweede kolom)
Python

Rekenen met numpy arrays #

Een van de grootste voordelen van numpy is dat je hele arrays kunt manipuleren zonder expliciete lussen. Dit heet vectorisatie.

Voorbeeld: Elementgewijze berekeningen

matrix = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
])

# Voeg 10 toe aan elk element
matrix_plus_10 = matrix + 10
print(matrix_plus_10)
Python

Uitvoer:

[[11 12 13]
 [14 15 16]
 [17 18 19]]
Python

Matrixvermenigvuldiging:

matrix1 = np.array([
    [1, 2],
    [3, 4]
])
matrix2 = np.array([
    [5, 6],
    [7, 8]
])

resultaat = np.dot(matrix1, matrix2)
print(resultaat)
Python

Uitvoer:

[[19 22]
 [43 50]]
Python

Wanneer kies je voor geneste lijsten of numpy? #

GebruikGeneste lijstenNumpy arrays
Kleine datasets✅❌
Eenvoudige bewerkingen✅❌
Grote datasets❌✅
Complexe berekeningen❌✅

Samenvatting #

Of je nu geneste lijsten of numpy arrays gebruikt, Python biedt krachtige tools voor het werken met multi-dimensionale data. Nested lists zijn ideaal voor kleinere, eenvoudige datasets, terwijl numpy arrays essentieel zijn voor efficiënte, grootschalige berekeningen. Door flattening en matrixbewerkingen te combineren, kun je complexe datastructuren eenvoudig beheren en manipuleren.

Probeer zelf een geneste lijst te maken of experimenteer met numpy arrays. Je zult versteld staan van wat je allemaal kunt doen! 🚀🎉

Updated on december 23, 2024

What are your Feelings

3.9 Geavanceerde Sortering3.11 Typing en Datatypes
Inhoudsopgave
  • Nested Lists
    • Hoe werken nested lists?
    • Itereren door een nested list
  • Flattening: Geneste lijsten "plat" maken
    • Hoe werkt flattening?
  • Inleiding tot numpy arrays
    • Waarom numpy gebruiken?
    • Wanneer numpy gebruiken?
    • Hoe werkt een numpy array?
    • Rekenen met numpy arrays
  • Wanneer kies je voor geneste lijsten of numpy?
  • Samenvatting
Programmeren in Python

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

© Copyright 2026 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