Как слить два списка в словарь?
Вариант на случай, когда для не повторяющихся ключей значения не нужно заворачивать в список:d = {}
for k, v in zip(list1, list2):
    if k in d:
        if not isinstance(d[k], list):
            d[k], t = [], d[k]
            d[k].append(t)
        d[k].append(v)
    else:
        d[k] = v
Я уже писал такой вопрос. Посмотрите, может найдете решение.