Python:
Gebruik van associatieve arrays
Hoe te:
Een woordenboek in Python maken is eenvoudig. Je sluit sleutel-waardeparen in met accolades {}
, met sleutels en waarden gescheiden door een dubbele punt:
# Maak een associatieve array (woordenboek) aan
my_dict = {"naam": "John", "leeftijd": 30, "stad": "New York"}
print(my_dict)
Output:
{'naam': 'John', 'leeftijd': 30, 'stad': 'New York'}
Toegang krijgen tot een waarde via de sleutel is eenvoudig:
# Toegang tot een waarde
print(my_dict["naam"])
Output:
John
Elementen toevoegen of bijwerken gebeurt door aan een sleutel een waarde toe te wijzen:
# Voeg een nieuw sleutel-waardepaar toe
my_dict["email"] = "[email protected]"
# Werk een waarde bij
my_dict["leeftijd"] = 31
print(my_dict)
Output:
{'naam': 'John', 'leeftijd': 31, 'stad': 'New York', 'email': '[email protected]'}
Om door de items in het woordenboek te itereren:
# Iterateer door sleutel-waardeparen
for sleutel, waarde in my_dict.items():
print(f"{sleutel}: {waarde}")
Output:
naam: John
leeftijd: 31
stad: New York
email: [email protected]
Diepere Duik
Associatieve arrays in Python, of woordenboeken, zijn geïntroduceerd om een datastructuur te bieden voor efficiënte data-toegang en -manipulatie. In tegenstelling tot sequenties, die geïndexeerd zijn door een reeks nummers, worden woordenboeken geïndexeerd door sleutels, wat elk onveranderlijk type kan zijn. Deze ontwerpkeuze maakt woordenboeken ideaal geschikt voor snelle opzoektabels waar sleutels naar unieke waarden leiden.
Historisch gezien zijn Python woordenboeken geïmplementeerd met behulp van een hash-tabel, wat zorgt dat de gemiddelde tijdscomplexiteit voor opzoek-, invoeg- en verwijderoperaties O(1) is. In Python 3.6 en later behouden woordenboeken ook de invoegvolgorde van items, wat de voordelen van hash-tabellen combineert met de voorspelbaarheid van invoegvolgorde gezien in geordende datastructuren.
Hoewel woordenboeken ongelooflijk veelzijdig zijn, kunnen in sommige gespecialiseerde gevallen alternatieven zoals collections.defaultdict
of collections.OrderedDict
(voor Python 3.7) de voorkeur krijgen. defaultdict
is met name handig wanneer je een woordenboek nodig hebt dat een standaardwaarde teruggeeft voor niet-bestaande sleutels, wat bepaalde soorten conditionele logica vereenvoudigt. Echter, met de continue verbetering en evolutie van Python, blijft de ingebouwde woordenboekklasse vaak de eerste keuze voor associatieve arrays vanwege de robuustheid en het gemak dat het biedt direct uit de doos.