Python usuwa zduplikowaną wartość z połączonej listy słowników

Potrzebuję trochę pomocy domowej. Muszę napisać funkcję, która łączy kilka słowników w nowy słownik. Jeśli klucz pojawia się więcej niż raz; wartości odpowiadające temu kluczowi w nowym słowniku powinny być unikalną listą. Jako przykład mam do tej pory:

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)

Dane wyjściowe wyglądają tak:

{'a': ['apple', 'adam'], 'c': ['cat', 'car'], 'b': ['bat', 'bat', 'boy'], 'e' : ['elephant'], 'd': ['dog', 'deer']}

Pod klawiszem „b” „bat” pojawia się dwukrotnie. Jak usunąć duplikaty?

Zajrzałem pod filtrowanie, lambda, ale nie mogłem zrozumieć, jak z nim korzystać (może b / c to lista w słowniku?)

Każda pomoc byłaby doceniana. Z góry dziękuję za wszelką pomoc!

questionAnswers(4)

yourAnswerToTheQuestion