👀 Voorbeeld - Omzetten
Er bestaan functies om een lijst naar een verzameling (set) om te zetten en vice versa. Deze functies lijken op de functie
int()
, die ervoor zorgt dat een waarde als een geheel getal (type int) wordt gezien.Hieronder zie je een voorbeeld waarbij we een string omzetten naar een geheel getal:
print('Geef een getal') # We zetten de ingelezen waarde om naar een int x = int(input()) print(x + 3) # Als we dat niet doen, krijgen we een error y = input() print(y + 3)
In dit voorbeeld gebruiken we de functie
int()
om de waarde die door de gebruiker wordt ingevoerd om te zetten naar een geheel getal. Dit is noodzakelijk omdat de input standaard als tekst (string) wordt behandeld. Als je deze tekst direct probeert op te tellen bij een getal, krijg je een foutmelding (error). Daarom moeten we de waarde expliciet omzetten naar een int.Op een gelijkaardige manier kun je een lijst omzetten naar een verzameling (set) met de functie
set()
. Om een verzameling terug om te zetten naar een lijst gebruik je de functielist()
.Hieronder zie je een voorbeeld waarbij we een lijst omzetten naar een verzameling en daarna weer terug naar een lijst:
lijst = ['a', 'b', 'c', 'd', 'a'] print(set(lijst)) # {'a', 'b', 'c', 'd'} verz = {'a', 'b', 'c', 'd'} print(list(verz)) # ['a', 'b', 'c', 'd']
💡 Hint - Geen Dubbele Elementen in Verzameling
Door van een lijst een verzameling te maken met de
set()
-functie worden automatisch alle dubbele elementen verwijderd. Een verzameling kan namelijk geen dubbele waarden bevatten. Dat is handig!
🧠Denkoefening - Wat doet dat?
Beschrijf in woorden wat het volgende stukje code doet:
lijst = ['a', 'b', 'c', 'd', 'a', 'b', 'a', 'a'] print(list(set(lijst)))
👀 Voorbeeld - Sorteren na het omzetten
In plaats van meteen de lijst te sorteren met de
sorted()
functie, kan je eerst een set maken om dubbele waarden te verwijderen. Daarna zet je de set terug om naar een > lijst en sorteer je de elementen.# Omzetten van lijst naar set om dubbele waarden te verwijderen lijst = ['b', 'a', 'c', 'b'] unieke_waarden = set(lijst) # Omzetten van set naar gesorteerde lijst gesorteerde_lijst = sorted(list(unieke_waarden)) print(gesorteerde_lijst) # Output: ['a', 'b', 'c']
💻 Programmeeroefening - Verwijder dubbele waarden, zet om naar lijst, en sorteer
Schrijf een functie
verwijder_dubbele_en_sorteer(lijst)
die:
- De dubbele waarden uit de lijst verwijdert door de lijst om te zetten naar een set.
- De set vervolgens omzet naar een lijst.
- De lijst sorteert en retourneert.
Je functie moet werken voor zowel getallen als strings.
Voorbeelden:
print(verwijder_dubbele_en_sorteer(['c', 'a', 'b', 'a'])) # Output: ['a', 'b', 'c'] print(verwijder_dubbele_en_sorteer([3, 1, 4, 1, 5, 9])) # Output: [1, 3, 4, 5, 9]