def lst2dct(lst):
    return lst if not isinstance(lst, list) else {k: lst2dct(v) for e in
        lst for k, v in list(e.items())}
for e in source:
    key, val = list(e.items())[0]
r.setdefault(key, []).append(lst2dct(val))
Converting list of dictionaries to unique list of dictionaries