Een uitgever heeft een vertaalwoordenboek Engels/Nederlands samengesteld. Elk Engels woord kan daarbij meerdere mogelijke vertalingen in het Nederlands hebben, maar hetzelfde woord in het Nederlands kan uiteraard ook de vertaling zijn van verschillende Engelse woorden. De uitgever wil nu ook een vertaalwoordenboek Nederlands/Engels samenstellen. Om kosten te besparen roepen ze je hulp in om een computerprogramma te schrijven dat automatisch het vertaalwoordenboek Engels/Nederlands kan omzetten in een vertaalwoordenboek Nederlands/Engels.

Opgave

Schrijf een functie omgekeerdeVertaling waaraan een dictionary kan doorgegeven worden dat een vertaalwoordenboek voorstelt. Bij wijze van voorbeeld gebruiken we een woordenboek Engels/Nederlands. De sleutels van deze dictionary worden gevormd door Engelstalige woorden. De waarde die correspondeert met een sleutel is de lijst van mogelijke vertalingen naar het Nederlands, voorgesteld als een lijst van strings.

De functie moet als resultaat een nieuwe dictionary teruggeven, die ook een woordenboek voorstelt en dus ook dezelfde vorm heeft als de dictionary die wordt doorgegeven. Alleen worden in de dictionary die wordt teruggegeven de sleutels gevormd door de Nederlandstalige woorden die in het meegeleverde woordenboek voorkomen. De waarde waarop het Nederlands woord in deze dictionary wordt afgebeeld, wordt gevormd door de lijst van Engelse woorden waarvan het Nederlandse woord een mogelijke vertaling vormt. De woorden in deze lijst moeten in alfabetische volgorde gerangschikt worden.

Voorbeeld

>>> omgekeerdeVertaling({'tension': ['spanning'], 'voltage': ['spanning', 'voltage']})
{'spanning': ['tension', 'voltage'], 'voltage': ['voltage']}

>>> omgekeerdeVertaling({'soul': ['geest', 'gemoed', 'ziel'], 'spirit': ['geest']})
{'ziel': ['soul'], 'geest': ['soul', 'spirit'], 'gemoed': ['soul']}

>>> omgekeerdeVertaling({'wire': ['draad', 'metaaldraad'], 'thread': ['draad', 'garen']})
{'draad': ['thread', 'wire'], 'garen': ['thread'], 'metaaldraad': ['wire']}