We hebben geleerd hoe je elementen van een verzameling één voor één kan bekijken, elementen kan toevoegen of verwijderen. Naast al deze operaties, bestaan er ook operaties die we kunnen toepassen op twee of meer verzamelingen. Dat is zinvol om bijvoorbeeld te zien welke elementen twee verzamelingen gemeenschappelijk hebben.

👀 Voorbeeld - Gemeenschappelijke hobby’s

Stel je voor: Marie-Rose heeft een vriendengroep waarin sommigen graag badminton spelen, terwijl anderen zich uitleven op de piano. Maar wie zijn de veelzijdige talenten die beide hobby’s combineren? 🤔

badminton

Om dit te ontdekken, kunnen we in Python de &-operator (ampersand) gebruiken. Deze operator geeft ons de doorsnede van twee verzamelingen: alle elementen die in beide sets voorkomen. Dit is een handige techniek om overeenkomsten te vinden tussen verzamelingen!

doorsnede

🏸🎼 Probeer het zelf!

Voer de volgende code uit in de sandbox en bekijk het resultaat. Welke vrienden delen beide hobby’s?

badminton = {'Nele', 'Amber', 'Amir', 'Leila', 'Alex', 'Winand'}
piano = {'Loic', 'Nele', 'Sarah', 'Amir', 'Lore', 'Toby'}
# Gemeenschappelijke hobby's
print(badminton & piano)

We noemen dit de doorsnede van de verzamelingen.

💡 Begrip - Doorsnede

De doorsnede van twee verzamelingen bevat alle elementen die de twee verzamelingen gemeenschappelijk hebben.

👀 Voorbeeld - Alle hobby’s

Marie-Rose is nieuwsgierig naar welke van haar vrienden een van deze twee hobby’s beoefenen. Sommige spelen badminton, anderen piano, en een paar doen beide. Maar hoe krijgt ze een volledig overzicht van alle vrienden die minstens één van deze hobby’s hebben? 🤔

piano

In Python kunnen we hiervoor de |-operator (pipe) gebruiken. Deze operator geeft ons de unie van twee verzamelingen: alle elementen die in minstens één van de sets voorkomen. Dit is handig wanneer je een totaaloverzicht nodig hebt! 📋

alles

🏸🎹 Probeer het zelf!

Voer de volgende code uit in de sandbox en bekijk het resultaat. Welke vrienden hebben minstens één van de hobby’s?

badminton = {'Nele', 'Amber', 'Amir', 'Leila', 'Alex', 'Winand'}
piano = {'Loic', 'Nele', 'Sarah', 'Amir', 'Lore', 'Toby'}
# Alle hobby's
print(badminton | piano)

We noemen dit de unie van de verzamelingen.

💡 Begrip - Unie

De unie van twee verzamelingen bevat simpelweg alle elementen van de twee verzamelingen.

👀 Voorbeeld - Enkel badminton, geen piano toegestaan!

Marie-Rose wil een lijstje maken van vrienden die enkel badminton spelen, maar geen piano. 🎯 Ze zoekt dus mensen die wel in de badmintonlijst staan, maar niet in de pianolijst. Hoe kan ze dat snel vinden?

Hier komt de --operator (min-teken) in Python van pas! Hiermee kun je het verschil tussen twee verzamelingen berekenen: je krijgt alleen de elementen die in de eerste verzameling zitten, maar niet in de tweede. 🚀

excl

🏸 Probeer het zelf!

Voer de volgende code uit in de sandbox en bekijk het resultaat. Welke vrienden spelen uitsluitend badminton?

badminton = {'Nele', 'Amber', 'Amir', 'Leila', 'Alex', 'Winand'}
piano = {'Loic', 'Nele', 'Sarah', 'Amir', 'Lore', 'Toby'}
# Enkel badminton
print(badminton - piano)

💡 Begrip - Verschil

Het verschil van twee verzamelingen bevat alle elementen die wel in de ene verzameling zitten maar niet in de andere.

💻 Programmeeroefening - Enkel de pianisten

Marie-Rose weet nu wie er enkel badminton speelt. Maar wat met de muzikale talenten? 🎶 Deze keer willen we een lijst maken van vrienden die uitsluitend piano spelen, en dus géén badmintonracket hanteren.

Wat ga je doen?

  1. Kopieer de verzamelingen uit de vorige oefening: één voor badminton en één voor piano.
  2. Gebruik de juiste operator om enkel de pianisten over te houden.
  3. Zet het resultaat om naar een alfabetisch gesorteerde lijst en print die uit.

📌 Denk eraan: In Python kan je verzamelingen (set) omzetten naar een gesorteerde lijst met sorted(...).