Python entfernt doppelte Werte in der Liste eines kombinierten Wörterbuchs

Ich brauche ein bisschen Hausaufgabenhilfe. Ich muss eine Funktion schreiben, die mehrere Wörterbücher zu einem neuen Wörterbuch kombiniert. Wenn ein Schlüssel mehrmals angezeigt wird; Die Werte, die diesem Schlüssel im neuen Wörterbuch entsprechen, sollten eine eindeutige Liste sein. Als Beispiel ist das, was ich bisher habe:

f = {'a': 'apple', 'c': 'cat', 'b': 'bat', 'd': 'dog'}
g =  {'c': 'car', 'b': 'bat', 'e': 'elephant'}
h = {'b': 'boy', 'd': 'deer'}
r = {'a': 'adam'}

def merge(*d):
    newdicts={}
    for dict in d:
        for k in dict.items():
            if k[0] in newdicts:
                newdicts[k[0]].append(k[1])
            else:
                newdicts[k[0]]=[k[1]]
    return newdicts

combined = merge(f, g, h, r)
print(combined)

Die Ausgabe sieht folgendermaßen aus:

{'a': ['apple', 'adam'], 'c': ['cat', 'car'], 'b': ['bat', 'bat', 'boy'], 'e' : ['Elefant'], 'd': ['Hund', 'Hirsch']}

Unter der Taste 'b' erscheint zweimal 'bat'. Wie entferne ich die Duplikate?

Ich habe unter Filter nachgesehen, Lambda, aber ich konnte nicht herausfinden, wie ich damit umgehen soll (vielleicht ist es eine Liste in einem Wörterbuch?)

Jede Hilfe wäre dankbar. Und vielen Dank im Voraus für all Ihre Hilfe!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage