De datastructuren die we tot nu toe behandeld hebben zijn lijsten, verzamelingen en mappen. Deze datastructuren hebben enkele belangrijke gelijkenissen en verschillen.
Een overzicht waarin we ook met tupels vergelijken:
Lijst | Verzameling | Map | Tupel | ||||||
---|---|---|---|---|---|---|---|---|---|
volgorde | ✅ | ❌ | ❌ | ✅ | |||||
unieke elementen | ❌ | ✅ | 🔑 | ❌ | |||||
muteerbaar | ✅ | ✅ | ✅ | ❌ |
Ook de methodes om een lege datastructuur te maken, een element te bekijken, te veranderen, toe te voegen of te verwijderen zijn verschillend per datastructuur.
Een overzicht:
Lijst | Verzameling | Map | Tupel | ||||||
---|---|---|---|---|---|---|---|---|---|
leeg | [] |
set() |
{} |
(,) |
|||||
bekijken | lst[index] |
/ | map[sleutel] |
tpl[index] |
|||||
veranderen | lst[index] = elem |
/ | map[sleutel] = elem |
/ | |||||
toevoegen | lst.append(elem) |
verz.add(elem) |
map[sleutel] = elem |
/ | |||||
verwijderen | lst.remove(elem) |
verz.remove(elem) |
map.pop(sleutel) |
/ |
Deze datastructuren zijn ingebouwd in Python.
❗ Ingebouwde functionaliteit
Ingebouwde functionaliteit verwijst naar functionaliteit die standaard aanwezig is in de programmeertaal. Het is dus niet nodig om extra code te schrijven of extra functionaliteit te importeren.
Gelukkig biedt de standaardfunctionaliteit in Python een goede basis om te programmeren.
👀 Voorbeeld - Lijsten in andere programmeertalen
Ook in andere programmeertalen vind je datastructuren zoals lijsten, verzamelingen en mappen terug, al is het mogelijk dat ze daar een andere naam of een andere syntax hebben.
In de programmeertaal Java, bijvoorbeeld, kan je een datastructuur terugvinden die lijkt op een lijst: de array.
Er zijn enkele verschillen tussen een lijst in Python en een array in Java:
- Een lijst in Python kan elementen van verschillende types bevatten. Bijvoorbeeld,
lst = [1,True,'hallo']
is een geldige lijst. Een array in Java bevat steeds elementen van hetzelfde type.- Aan een lijst in Python kan je steeds elementen toevoegen. Een array heeft een vaste grootte: indien die overschreden wordt bij het toevoegen van een nieuw element, moet er een nieuwe array gemaakt worden.