Python-lijstbewerkingen: aanmaken, benaderen, wijzigen en geavanceerde technieken
Python-lijstbewerkingen
Python-lijsten zijn een van de meest veelzijdige datastructuren in de taal, waarmee je efficiënt reeksen waarden kunt opslaan, organiseren en manipuleren. Deze gids behandelt alles wat je moet weten – van het aanmaken en benaderen van lijstelementen tot geavanceerde technieken zoals slicing, comprehensions en ingebouwde methoden.
Video: Python-lijsten en tuples
Python-lijsten laten je met meerdere items tegelijk werken. Bijvoorbeeld:
# een lijst met programmeertalen
['Python', 'C++', 'JavaScript']
Python-lijsten aanmaken
Een lijst wordt aangemaakt door elementen tussen vierkante haakjes [] te plaatsen, gescheiden door komma's. Lijsten kunnen elk aantal items bevatten en ondersteunen gemengde datatypes.
# lijst van integers
my_list = [1, 2, 3]
Voorbeelden:
# lege lijst
my_list = []
# gemengde datatypes
my_list = [1, "Hallo", 3.4]
Een lijst kan ook een andere lijst bevatten, wat een geneste structuur creëert.
# geneste lijst
my_list = ["muis", [8, 4, 6], ["a"]]
Lijstelementen benaderen
Python biedt verschillende manieren om items te benaderen.
Indexeren
Gebruik de []-operator. Indices beginnen bij 0; het benaderen van een index buiten bereik geeft een IndexError, terwijl niet-integer indices een TypeError geven.
my_list = ['p', 'r', 'o', 'b', 'e']
print(my_list[0]) # p
print(my_list[2]) # o
print(my_list[4]) # e
n_list = ["Happy", [2, 0, 1, 5]]
print(n_list[0][1]) # a
print(n_list[1][3]) # 5
print(my_list[4.0]) # TypeError
Uitvoer
p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float
Negatief indexeren
Negatieve indices tellen vanaf het einde van de lijst: -1 is het laatste element, -2 het voorlaatste, enz.
my_list = ['p','r','o','b','e']
print(my_list[-1]) # e
print(my_list[-5]) # p
Uitvoer
e p

Lijst-slicing
Slicing haalt een bereik items op met de dubbele punt operator :. De start-index is inclusief; de eind-index is exclusief.
my_list = ['p','r','o','g','r','a','m','i','z']
print(my_list[2:5]) # ['o', 'g', 'r']
print(my_list[5:]) # ['a', 'm', 'i', 'z']
print(my_list[:]) # volledige lijst
Uitvoer
['o', 'g', 'r'] ['a', 'm', 'i', 'z'] ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']
Let op: Slicing retourneert een nieuwe lijst; de origineel blijft ongewijzigd.
Lijstelementen wijzigen
Lijsten zijn mutable. Je kunt enkele items of slices vervangen.
odd = [2, 4, 6, 8]
odd[0] = 1
print(odd)
odd[1:4] = [3, 5, 7]
print(odd)
Uitvoer
[1, 4, 6, 8] [1, 3, 5, 7]
Voeg elementen toe met append() (één) of extend() (meerdere). Gebruik + voor concatenatie en * voor herhaling.
odd = [1, 3, 5]
odd.append(7)
print(odd)
odd.extend([9, 11, 13])
print(odd)
print(odd + [9, 7, 5])
print(["her"] * 3)
Uitvoer
[1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13] [1, 3, 5, 9, 7, 5] ['her', 'her', 'her']
Voeg elementen in op een specifieke index met insert() of door toe te wijzen aan een lege slice.
odd = [1, 9]
odd.insert(1, 3)
print(odd)
odd[2:2] = [5, 7]
print(odd)
Uitvoer
[1, 3, 9] [1, 3, 5, 7, 9]
Lijstelementen verwijderen
Gebruik del om items op index of slice te verwijderen, of de hele lijst. remove() verwijdert de eerste matchende waarde, pop() verwijdert en retourneert een element op index (of het laatste element als geen index gegeven). clear() leegt de lijst.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
# verwijder één item
del my_list[2]
print(my_list)
# verwijder meerdere items
del my_list[1:5]
print(my_list)
# verwijder de hele lijst
del my_list
print(my_list) # NameError
Uitvoer
['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined
Alternatieve verwijdering via slice-toewijzing:
>>> my_list = ['p','r','o','b','l','e','m']
>>> my_list[2:3] = []
>>> my_list
['p', 'r', 'b', 'l', 'e', 'm']
>>> my_list[2:5] = []
>>> my_list
['p', 'r', 'm']
Algemene lijstmethoden
| Methode | Beschrijving |
|---|---|
| append() | Voegt een element aan het einde toe |
| extend() | Voegt alle elementen uit een ander iterable toe |
| insert() | Voegt een item in op een opgegeven index |
| remove() | Verwijdert de eerste voorkomens van een waarde |
| pop() | Verwijdert en retourneert een element op index (of laatste) |
| clear() | Leegt de lijst |
| index() | Retourneert de eerste index van een waarde |
| count() | Telt voorkomens van een waarde |
| sort() | Sorteert de lijst in oplopende volgorde |
| reverse() | Keert de lijstvolgorde om |
| copy() | Retourneert een shallow copy |
my_list = [3, 8, 1, 6, 8, 8, 4]
my_list.append('a')
print(my_list)
print(my_list.index(8)) # 1
print(my_list.count(8)) # 3
Lijst-comprehension
Lijst-comprehensions bieden een beknopte manier om lijsten te genereren.
pow2 = [2 ** x for x in range(10)]
print(pow2)
Uitvoer
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
Equivalent aan:
pow2 = []
for x in range(10):
pow2.append(2 ** x)
Comprehensions mogen meerdere for-clauses of een if-filter bevatten.
>>> pow2 = [2 ** x for x in range(10) if x > 5]
>>> pow2
[64, 128, 256, 512]
>>> odd = [x for x in range(20) if x % 2 == 1]
>>> odd
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y for x in ['Python ','C '] for y in ['Taal','Programmeren']]
['Python Taal', 'Python Programmeren', 'C Taal', 'C Programmeren']
Meer info in de officiële Python-documentatie.
Aanvullende lijstbewerkingen
Lidmaatschapstest
Controleer of een waarde bestaat met in of not in.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
print('p' in my_list) # True
print('a' in my_list) # False
print('c' not in my_list) # True
Uitvoer
True False True
Itereren door een lijst
Gebruik een for-lus om elk item te verwerken.
for fruit in ['appel','banaan','mango']:
print("Ik hou van", fruit)
Uitvoer
Ik hou van appel Ik hou van banaan Ik hou van mango
Python
- Python Datatypes onder de knie krijgen: Een praktische gids
- Python Operators onder de knie krijgen: Een uitgebreide gids
- Python Pass Statement onder de knie krijgen: Een praktische gids
- Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
- Python's time.sleep() onder de knie krijgen: best practices, multithreading en real-world voorbeelden
- Python Lijsten Onder de Loep: Append, Sort, Lengte & List Comprehensions (Praktische Gids)
- Gemiddeldes Berekenen in Python: Een Praktische Gids
- Python list.count(): Expert Gids met Praktische Voorbeelden
- Dubbele Elementen Verwijderen uit een Python Lijst
- Items Verwijderen uit een Python Lijst: remove(), pop(), clear() en del
- Python List index() – Elementposities Vinden met Praktische Voorbeelden