Lijst functies
We hebben al gezien dat Python allerlei ingebouwde functies heeft, verdeeld
over allerlei modules die toegankelijk zijn via import
statements.
Hoewel dit super nuttig is, is het soms een goede oefening om zelf ook
basis functies te schrijven.
In deze opgave schrijf je twee functies die simpele operaties op lijsten
doen.
- Schrijf een functie die de unieke elementen van een lijst geeft. Dus
een functie
uniek(lijst)
die een lijst teruggeeft met alleen de unieke elementen. Als voorbeeld,uniek([4, 1, 3, 2, 2, 4, 4])
moet de lijst[4, 1, 3, 2]
geven.
HINT: Je kan met for x in lijst
door de elementen van een lijst lopen en
met x in lijst
checken of x
in een lijst zit.
Ons volgende doel is om een functie te schrijven die voor alle unieke elementen in een lijst telt hoe vaak ze voorkomen.
-
Schrijf eerst een functie
tel(x, lijst)
die telt hoe vaak een elementx
inlijst
voorkomt. -
Schrijf nu een functie die de vorige twee functies gebruikt om een alle unieke elementen te tellen. Als uitvoer moet deze functie een lijst paartjes geven, waarbij elk paartje een combinatie (element, aantal) is. Voor
["a", "d", "c", "b", "b", "a", "a"]
zou dezetel_alles
functie bijvoorbeeld de lijst[("a", 3), ("d", 1), ("c", 1), ("b", 2)]
geven.
HINT: Je kan dit samenvoegen handmatig doen, of de functie zip
gebruiken, die kan van twee
lijsten een lijst van paren maken. Bijvoorbeeld zip(["a", "b", "c"], [1, 2, 3])
geeft
[("a", 1), ("b", 2), ("c", 3)]
.
- Zorg dat de uitvoer mooi wordt weergegeven.