from collections import defaultdict
keyval = [('a', 1), ('b', 2), ('a', 3), ('a', 4), ('b', 5), ('c', 6)]
grouped_dict = defaultdict(list)
for key, value in keyval:
grouped_dict[key].append(value)
print(grouped_dict)
print((dict(grouped_dict)))
'''
run:
defaultdict(<class 'list'>, {'a': [1, 3, 4], 'b': [2, 5], 'c': [6]})
{'a': [1, 3, 4], 'b': [2, 5], 'c': [6]}
'''