def lag_interessegrupper(personers_interesse): # Oppretter ordboken vi skal returnere interesser = {} # Itererer gjennom personene i ordboken vi får inn for person in personers_interesse: # Henter personens interesse interesse = personers_interesse[person] # Hvis denne personens interesse (slår opp i ordboken) ikke allerede finnes i interesser-ordboken vår oppretter vi den som nøkkel og legger inn en liste med personen som verdi if interesse not in interesser: interesser[interesse] = [person] # Hvis interessen allerede finnes i interesser-ordboken legger vi til personen i listen den har som innholdsverdi else: interesser[interesse].append(person) # Returnerer ordboken med interesser som nøkkelverdier og lister med personer som innholdsverdier return interesser # Sjekker om vi får forventet utskrift interesseordbok = lag_interessegrupper({"Per": "Mat", "Palle": "Film", "Espen": "Mat"}) print(interesseordbok) ### # Alternativ løsning som bruker .items() for å iterere over både person og interesse samtidig. def lag_interessegrupper(personers_interesse): interesser = {} for person, interesse in personers_interesse.items(): if interesse not in interesser: interesser[interesse] = [person] else: interesser[interesse].append(person) return interesser ### # Utvidelse # Åpner filen i skrivemodus fil = open("interesseantall.txt", "w") # Itererer over interessene i ordboken og skriver interessen og antall personer med interessen (lengden av listen av personer med interessen) til fil for interesse in interesseordbok: fil.write(f"{interesse}, {len(interesseordbok[interesse])}\n") # Husk newline for linjeskift! # Lukker filen fil.close()