def merge_lists(l1, l2, key):
    merged = {}
for item in (l1 + l2):
    if item[key] in merged:
        merged[item[key]].update(item)
else:
    merged[item[key]] = item
Как объединить списки словарей