Вы можете создать набор, содержащий ключ и значения для каждой пары, и построить словарные записи из этого:
dict1 = {
'a':['b','c'],
'd':['e','f']
}
sets = [set([key]) | set(values) for key, values in dict1.items() ]
# [{'a', 'b', 'c'}, {'f', 'd', 'e'}]
out = {}
for s in sets:
for key in s:
out[key] = list(s-set([key]))
print(out)
Вывод:
{'a': ['b', 'c'], 'b': ['a', 'c'], 'c': ['a', 'b'],
'f': ['d', 'e'], 'd': ['f', 'e'], 'e': ['f', 'd']}