Python удалить дублирующее значение в комбинированном списке словаря

Мне нужна помощь с домашними заданиями. Я должен написать функцию, которая объединяет несколько словарей в новый словарь. Если ключ появляется более одного раза; значения, соответствующие этому ключу в новом словаре, должны быть уникальным списком. В качестве примера это то, что я имею до сих пор:

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)

Вывод выглядит так:

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

Под клавишей «b» дважды появляется «bat». Как мне удалить дубликаты?

Я посмотрел под фильтром, лямбда, но я не мог понять, как использовать с (может быть, это список в словаре?)

Любая помощь будет оценена. И заранее благодарю за помощь!

Ответы на вопрос(4)

Ваш ответ на вопрос