3
Try using dictionary comprehension with iter beforehand: it = iter(list_2) print({k:[(i, next(it)) for i in v] for k, v in list_1}) Output: {'Person A': [((6, 'example.com/h'), '2'), ((1, 'example.com/xqz'), '6'), ((7, 'example.com/abc'), '2'), ((9, 'example.com/efg'), '23')], 'Person B': [((...