Una empresa de vegades necessita enviar a dos treballadors per a realitzar reparacions. Per formar les parelles té les dades dels treballadors en un diccionari en el qual la clau és el nom d’un treballador i el valor la llista amb els noms de la resta de treballadors amb els que està disposat a treballar. Que el treballador ’pep’ estigui disposat a treballar amb ’paco’ no implica que ’paco’ estigui disposat a treballar amb ’pep’. És possible que algun treballador no vulgui treballar amb ningú.
Programa una funció limpia(preferencias) que, donat un diccionari preferencias com el descrit a l’inici, retorni un nou diccionari en el qual s’han tret els noms de treballadors que ja no estan en l’empresa, és a dir, que ja no són claus.
Puntuació
Apartat 1: 45 puntos.
Apartat 2: 55 puntos.
>>> d1 = {'pep': ['pau', 'marc', 'eva'], 'pau': ['ana', 'lluc']} >>> d2 = limpia(d1) >>> d2 == {'pep': ['pau'], 'pau': []} True >>> serv = ['sabrenia', 'rowhn', 'storms'] >>> prefs = {'jennafer-lee': ['storms', 'sabrenia', 'sarma', 'nyera'], ... 'niloofar': ['jennafer-lee', 'rowhn', 'aaniah', 'brents'], ... 'sabrenia': [], ... 'rowhn': [], ... 'ishrat': ['aaniah', 'lyndell', 'lavarr', 'sarma', 'sanburn'], ... 'nyera': ['maxantia'], ... 'maxantia': ['nüket', 'storms', 'jerid', 'lavarr', 'nică'], ... 'sanburn': ['niloofar'], ... 'sarma': ['jerid', 'nüket', 'rowhn', 'sanburn'], ... 'aaniah': ['sabrenia', 'nică', 'niloofar', 'jennafer-lee'], ... 'nüket': ['nică', 'maxantia'], ... 'nică': ['storms', 'lavarr', 'sarma', 'rowhn'], ... 'storms': ['aaniah', 'maxantia', 'lavarr', 'nică']} >>> emp = empareja(serv, prefs) >>> emp == {'sabrenia': [], 'rowhn': [], 'storms': ['maxantia', 'nică']} True