← RU Pythoncursus

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.

  1. 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.

  1. Schrijf eerst een functie tel(x, lijst) die telt hoe vaak een element x in lijst voorkomt.

  2. 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 deze tel_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)].

  1. Zorg dat de uitvoer mooi wordt weergegeven.