Dictionaries in Python (uitleg met voorbeelden)

Een dictionary is een verzameling van key-value paren die worden gebruikt om gegevens op te slaan en te organiseren. In tegenstelling tot lijsten, waarin gegevens in een bepaalde volgorde worden opgeslagen en toegankelijk zijn via indexen, worden gegevens in dictionaries georganiseerd in een ongeordende set van key-value paren. Dit betekent dat de gegevens niet worden opgeslagen in een bepaalde volgorde en dat toegang tot gegevens niet kan worden verkregen via indexen, maar via de keys.

Hoe maak je een dictionary in Python?

Een dictionary in Python wordt gemaakt met behulp van accolades {} en het opgeven van key-value paren. De key en de value worden gescheiden door een dubbele punt (:) en elk key-value paar wordt gescheiden door een komma (,).

# Een voorbeeld van een dictionary
my_dict = {'a': 1, 'b': 2, 'c': 3}

In dit voorbeeld wordt een dictionary my_dict gemaakt met drie key-value paren. De key ‘a’ heeft als value 1, de key ‘b’ heeft als value 2 en de key ‘c’ heeft als value 3.

Het is ook mogelijk om een dictionary te maken met de dict() functie:

my_dict = dict(a=1, b=2, c=3)

In dit voorbeeld worden de key-value paren als argumenten doorgegeven aan de dict() functie.

Hoe kun je een dictionary manipuleren in Python?

Er zijn verschillende manieren om dictionaries te manipuleren in Python. Hieronder vind je enkele veelvoorkomende methoden:

Toevoegen en wijzigen van key-value paren

Een key-value paar kan worden toegevoegd aan een bestaande dictionary door simpelweg de key en de value aan de dictionary toe te voegen:

# Een voorbeeld van het toevoegen van een key-value paar aan een dictionary
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict['d'] = 4

In dit voorbeeld wordt een nieuwe key-value paar ‘d’: 4 toegevoegd aan de bestaande dictionary.

Een key-value paar kan worden gewijzigd door simpelweg de value te wijzigen die aan de key is gekoppeld:

# Een voorbeeld van het wijzigen van een value in een dictionary
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict['b'] = 5

In dit voorbeeld wordt de waarde die aan de key ‘b’ is gekoppeld gewijzigd van 2 naar 5.

Verwijderen van key-value paren

Een key-value paar kan worden verwijderd uit een dictionary met behulp van de del operator:

# Een voorbeeld van het verwijderen van een key-value paar uit een dictionary
my_dict = {'a': 1, 'b': 2, 'c': 3}
del my_dict['b']

In dit voorbeeld wordt het key-value paar dat aan de key ‘b’ is gekoppeld verwijderd uit de dictionary.

Toegang tot de waarden in een dictionary

Waarden in een dictionary kunnen worden opgehaald door het opgeven van de key tussen vierkante haken:

# Een voorbeeld van het ophalen van een waarde uit een dictionary
my_dict = {'a': 1, 'b': 2, 'c': 3}
value = my_dict['b']
print(value)

In dit voorbeeld wordt de waarde die aan de key ‘b’ is gekoppeld uit de dictionary gehaald en toegewezen aan de variabele value. Vervolgens wordt de waarde van value geprint.

Controleren of een key aanwezig is in een dictionary

Om te controleren of een key aanwezig is in een dictionary, kunnen we de in operator gebruiken:

# Een voorbeeld van het controleren of een key aanwezig is in een dictionary
my_dict = {'a': 1, 'b': 2, 'c': 3}
if 'b' in my_dict:
    print('Key "b" is aanwezig in de dictionary')
else:
    print('Key "b" is niet aanwezig in de dictionary')

In dit voorbeeld controleren we of de key ‘b’ aanwezig is in de dictionary. Als dat het geval is, wordt de boodschap ‘Key “b” is aanwezig in de dictionary’ geprint. Anders wordt de boodschap ‘Key “b” is niet aanwezig in de dictionary’ geprint.

Voorbeelden van toepassingen van een dictionary

Dictionaries kunnen op verschillende manieren worden toegepast in Python. Hieronder vind je enkele voorbeelden:

Woorden tellen in een tekst

Een veelvoorkomende toepassing van dictionaries is het tellen van woorden in een tekst. Dit kan worden bereikt door een dictionary te maken waarin elke key een woord is en elke value het aantal keren dat dat woord voorkomt in de tekst:

# Een voorbeeld van het tellen van woorden in een tekst
text = "Dit is een voorbeeldtekst. Deze tekst is bedoeld als voorbeeld."
word_counts = {}
for word in text.split():
    if word in word_counts:
        word_counts[word] += 1
    else:
        word_counts[word] = 1
print(word_counts)

In dit voorbeeld wordt een dictionary word_counts gemaakt waarin het aantal keren dat elk woord voorkomt in de tekst wordt opgeslagen.

Opslaan van instellingen

Een andere toepassing van dictionaries is het opslaan van instellingen voor een programma. Dit kan worden bereikt door een dictionary te maken waarin elke key een instelling is en elke value de waarde van die instelling:

# Een voorbeeld van het opslaan van instellingen in een dictionary
settings = {'color': 'blue', 'fontsize': 12, 'language': 'English'}

In dit voorbeeld wordt een dictionary settings gemaakt waarin verschillende instellingen van een programma worden opgeslagen. Hier koppelen we de key ‘color’ aan de value ‘blue’, de key ‘fontsize’ gekoppeld aan de value 12 en de key ‘language’ gekoppeld aan de value ‘English’.

Groeperen van gegevens

Je kunt dictionaries ook gebruiken om gegevens te groeperen op basis van bepaalde kenmerken. Bijvoorbeeld:

# Een voorbeeld van het groeperen van gegevens in een dictionary
data = [
    {'name': 'John', 'age': 25, 'country': 'USA'},
    {'name': 'Emily', 'age': 32, 'country': 'Canada'},
    {'name': 'Alex', 'age': 21, 'country': 'USA'},
    {'name': 'Oliver', 'age': 37, 'country': 'Canada'}
]
grouped_data = {}
for item in data:
    country = item['country']
    if country in grouped_data:
        grouped_data[country].append(item)
    else:
        grouped_data[country] = [item]
print(grouped_data)

In dit voorbeeld worden gegevens over personen opgeslagen in een lijst van dictionaries data. Hierbij heeft elke dictionary informatie over de naam, leeftijd en het land van een persoon. Vervolgens worden deze gegevens gegroepeerd op basis van het land van de persoon. Hiervoor wordt een dictionary grouped_data gemaakt waarin elk land een key is en de bijbehorende value een lijst van dictionaries is die alleen gegevens over personen uit dat land bevat.

Dictionaries samengevat

Dictionaries zijn een belangrijke datastructuur in Python waarmee key-value paren kunnen worden opgeslagen en opgehaald. In dit artikel hebben we geleerd hoe we dictionaries kunnen maken, hoe we key-value paren kunnen toevoegen, bijwerken en verwijderen, hoe we toegang kunnen krijgen tot waarden in een dictionary en hoe we kunnen controleren of een key aanwezig is. We hebben ook enkele voorbeelden van toepassingen gezien, zoals het tellen van woorden in een tekst, het opslaan van instellingen en het groeperen van gegevens.

Aan de slag gaan met datasets en datastructuren? Op Kaggle vind je een groot aanbod van interessante datasets.