Python-arrays: Aanmaken, manipuleren en geavanceerde operaties – Expert-gids
Wat is een Python-array?
Een Python-array is een homogene verzameling elementen opgeslagen in aaneengesloten geheugen, wat efficiënte opslag en snellere numerieke operaties biedt vergeleken met lijsten. De ingebouwde array-module hanteert array-aanmaak en manipulatie.
Wanneer Python-arrays gebruiken
Python-arrays zijn ideaal wanneer je veel waarden van hetzelfde type moet opslaan en numerieke berekeningen moet uitvoeren. Ze consumeren minder geheugen en bieden snellere toegang dan lijsten, vooral voor grote datasets.
Syntaxis om een array aan te maken
Importeer de array-module en roep array.array(typecode, initializer) aan:
import array mijn_array = array.array('i', [1, 2, 3]) Array-typecodes
| Typecode | Python-type | C-type | Min. grootte (bytes) |
|---|---|---|---|
| 'u' | Unicode-teken | Py_UNICODE | 2 |
| 'b' | Int | Signed char | 1 |
| 'B' | Int | Unsigned char | 1 |
| 'h' | Int | Signed short | 2 |
| 'l' | Int | Signed long | 4 |
| 'L' | Int | Unsigned long | 4 |
| 'q' | Int | Signed long long | 8 |
| 'Q' | Int | Unsigned long long | 8 |
| 'H' | Int | Unsigned short | 2 |
| 'f' | Float | Float | 4 |
| 'd' | Float | Double | 8 |
| 'i' | Int | Signed int | 2 |
| 'I' | Int | Unsigned int | 2 |
Elementen benaderen
Elementen worden benaderd via zero-based index:
import array balans = array.array('i', [300, 200, 100]) print(balans[1]) # 200 Je kunt ook negatieve indices of slicing gebruiken:
import array arr = array.array('q', [3, 9, 6, 5, 20, 13, 19, 22, 30, 25]) print(arr[1:4]) # array('q', [9, 6, 5]) print(arr[7:10]) # array('q', [22, 30, 25]) Elementen invoegen
Voeg een waarde in op een specifieke positie met insert(index, value):
import array balans = array.array('i', [300, 200, 100]) balans.insert(2, 150) print(balans) # array('i', [300, 200, 150, 100]) Elementen wijzigen
Arrays zijn veranderlijk; wijs een nieuwe waarde direct toe:
import array arr = array.array('b', [3, 6, 4, 8, 10]) arr[0] = 99 print(arr) # array('b', [99, 6, 4, 8, 10]) Concatenatie wordt ook ondersteund:
import array eerste = array.array('b', [4, 6, 8]) tweede = array.array('b', [9, 12, 15]) gecombineerd = eerste + tweede print(gecombineerd) # array('b', [4, 6, 8, 9, 12, 15]) Elementen verwijderen
Pop verwijdert een item op index:
import array arr = array.array('b', [20, 25, 30]) arr.pop(2) print(arr) # array('b', [20, 25]) Del verwijdert een element op positie:
import array arr = array.array('b', [10, 4, 5, 5, 7]) del arr[4] print(arr) # array('b', [10, 4, 5, 5]) Remove verwijdert de eerste voorkomen van een waarde:
import array arr = array.array('b', [2, 3, 4]) arr.remove(3) print(arr) # array('b', [2, 4]) Zoeken en indexeren
Vind de index van een waarde met index(value):
import array arr = array.array('b', [2, 3, 4, 5, 6]) print(arr.index(3)) # 1 Een array omkeren
Omkeren in place:
import array arr = array.array('b', [1, 2, 3]) arr.reverse() print(arr) # array('b', [3, 2, 1]) Converteren naar Unicode
Alleen arrays van type 'u' ondersteunen tounicode():
from array import array p = array('u', [u'\u0050', u'\u0059', u'\u0054', u'\u0048', u'\u004F', u'\u004E']) print(p) # array('u', 'PYTHON') print(p.tounicode()) # PYTHON Elementen tellen
Tel voorkomens met count(x):
import array arr = array.array('b', [2, 3, 5, 4, 3, 3, 3]) print(arr.count(3)) # 4 Een array afgaan
Itereer met een for-lus:
import array arr = array.array('i', [300, 200, 100]) for x in arr: print(x) Samenvatting
- Een Python-array bevat elementen van een enkel type, gedefinieerd door een typecode.
- Arrays worden aangemaakt via de
array-module en zijn geheugen-efficiënter dan lijsten. - Gebruik indexing, slicing en ingebouwde methodes (
insert,remove,pop,reverse) om data te manipuleren. - Arrays ondersteunen concatenatie, tellen en zoeken.
- Alleen
'u'-arrays kunnen geconverteerd worden naar Unicode-strings.
Python
- C++ Arrays Ontmaskerd: Declaratie, Initialisatie en Pointer‑Technieken
- C++ Dynamische Array‑Allocatie: Praktische Handleiding met Code‑Voorbeelden
- C# Collections Beheersen: Een Praktische Tutorial met Real-World Voorbeelden
- Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
- Python `format()` strings beheersen met duidelijke voorbeelden
- Python's String.find()-methode beheersen: Syntaxis, voorbeelden & alternatieven
- Python lambda-functies beheersen: praktische voorbeelden & best practices
- Python round()-functie uitgelegd met praktische voorbeelden
- Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
- Python timeit() – Uitvoeringstijd meten met praktische voorbeelden
- type() en isinstance() in Python begrijpen: praktische voorbeelden