Как осилить словари?
Вариант #1 - реализовать через collections.defaultdict:from collections import defaultdict

keys = ['1', '1', '1', '2', '2', '3']
vals = ['q', 'w', 'e', 'r', 't', 'y']

d = defaultdict(list)
for key, value in zip(keys, vals):
    d[key].append(value)
Вариант #2 - без defaultdict, но эквивалентен его поведению:d = dict()
for key, value in zip(a, b):
    d.setdefault(key, []).append(value)
Вариант #3 - использовать MultiDict.
Так, что-ли?>>> a = ['1', '1', '1', '1', '1', '2']
>>> b = ['q', 'w', 'e', 'r', 't', 'y', 'x']
>>> res = {}
>>> for im in enumerate(a):
...    if not im[1] in res.keys():
...       res[im[1]] = [b[im[0]]]
...    else:
...       res[im[1]].append(b[im[0]])
... 
>>> res
{'1': ['q', 'w', 'e', 'r', 't'], '2': ['y']}