In deze oefening gaan we op zoek naar de letter die in zoveel mogelijk woorden voorkomt in gegeven een lijst van woorden.
Schrijf de functie populairste_letters
met als argumenten:
- een lijst van strings, waarbij elke string een woord voorstelt
- een lijst van letters, waarvan de populariteit nagekeken moet worden
Het resultaat van deze functie is opnieuw en lijst van letters, namelijk een sublijst van het 2de argument.
Deze lijst
- is leeg indien het tweede argument een lege lijst is
- is identiek aan het tweede argument indien het eerste argument een lege lijst is
- bestaat uit 1 letter, indien die ene letter het populairst is (m.a.w. het aantal woorden waar die letter in voorkomt
overtreft het aantal woorden waar de andere letters uit het tweede argument in voorkomen)
- bestaat uit een aantal letters, indien die letters even populair zijn, en geen andere letter uit het tweede argument een
grotere populariteit geniet. In dit geval komen de letters in de resultaatlijst in dezelfde volgorde voor als in het tweede argument
In het geval dat geen enkele van de letters uit het tweede argument voorkomen in de woorden van het eerste argument, worden alle
letters uit het tweede argument als resultaat teruggegeven (ze zijn immers even populair).
Je mag aannemen dat het tweede argument geen dubbels bevat (elke letter komt dus hoogstens 1 keer voor in dit tweede argument), en dat
elk element van het tweede argument uit 1 karakter bestaat. Beide argumenten bevatten enkel kleine letters (dus geen hoofdletters, leestekens, ...).
Schrijf de functie populairste_letters()
met 2 lijstargumenten, zoals hierboven aangegeven.
Voorbeeld
populairste_letters(['eenoog', 'octopus','acacadabra'], ['e', 'o', 'a']) = ['o']
populairste_letters(['eenoog', 'octopus','even'], ['e', 'o', 'a']) = ['e', 'o']
populairste_letters(['eenoog', 'octopus','even'], [])) = [ ]
populairste_letters([], ['e', 'o', 'a']) = ['e', 'o', 'a']
populairste_letters([], []) = [ ]