Welke drie bands zitten verborgen in deze reeks woorden?

PINUP, BEIRUT, TELEVISED, JAPANNED, TRIBALISM

De drie bands zijn OASIS, QUEEN en NIRVANA. De band OASIS krijg je door telkens van de eerste letter van elk woord de voorgaande letter in het alfabet te nemen. De band QUEEN krijg je door telkens van de laatste letter van elk woord de volgende letter in het alfabet te nemen. De band NIRVANA krijg je door telkens de middelste letter(s) van elk woord te nemen. Woorden met een oneven aantal letters hebben één middelste letter en woorden met een even aantal letters hebben twee middelste letters.

bands
Voeg respectievelijk de voorganger, de opvolger en het midden van elk woord uit de reeks samen, en je krijgt de drie bands OASIS, QUEEN en NIRVANA.

Opgave

We beschouwen woorden die bestaan uit één of meer hoofdletters en stellen die voor als strings (str).

Een selector is een functie (function) waaraan een woord $$w$$ moet doorgegeven worden en die een woord teruggeeft. Gevraagd wordt om de volgende selectors te definiëren:

Definieer nu ook nog een functie verborgen waaraan twee argumenten moeten doorgegeven worden: i) een reeks (list of tuple) woorden en ii) een selector $$s$$. De functie moet het woord teruggeven dat bekomen wordt door alle letters samen te voegen die selector $$s$$ teruggeeft voor elk van de opeenvolgende woorden in de gegeven reeks.

Voorbeeld

>>> voorganger('PINUP')
'O'
>>> voorganger('BEIRUT')
'A'
>>> voorganger('TELEVISED')
'S'

>>> opvolger('PINUP')
'Q'
>>> opvolger('BEIRUT')
'U'
>>> opvolger('TELEVISED')
'E'

>>> midden('PINUP')
'N'
>>> midden('BEIRUT')
'IR'
>>> midden('TELEVISED')
'V'

>>> rondomsom('PYTHONS')
'G'
>>> rondomsom('STANCHED')
'O'
>>> rondomsom('ALGA')
'R'

>>> zwaartepunt('PYTHONS')
'P'
>>> zwaartepunt('STANCHED')
'E'
>>> zwaartepunt('ALGA')
'A'

>>> verborgen(['PINUP', 'BEIRUT', 'TELEVISED', 'JAPANNED', 'TRIBALISM'], voorganger)
'OASIS'
>>> verborgen(['PINUP', 'BEIRUT', 'TELEVISED', 'JAPANNED', 'TRIBALISM'], opvolger)
'QUEEN'
>>> verborgen(['PINUP', 'BEIRUT', 'TELEVISED', 'JAPANNED', 'TRIBALISM'], midden)
'NIRVANA'

>>> verborgen(('PYTHONS', 'STANCHED', 'ALGA', 'REBUS', 'NELLY', 'SUBJECTIVELY', 'ARABIA', 'ARMAMENT'), rondomsom)
'GORILLAZ'
>>> verborgen(('PYTHONS', 'STANCHED', 'ALGA', 'REBUS', 'NELLY', 'SUBJECTIVELY', 'ARABIA', 'ARMAMENT'), zwaartepunt)
'PEARLJAM'