Ваши входные данные должны быть словарями в первую очередь:
dict1 = {(100, "A"): 22, (200,"B"): 33, (300, "C"): 44}
dict2 = {(100, "A"): 333, (200,"B"): 444, (500, "D"): 555}
Теперь вы можете легко создать комбинированный дикт:
>>> {k: (dict1.get(k, 0), dict2.get(k, 0))
... for k in dict1.viewkeys() | dict2.viewkeys()}
{(100, 'A'): (22, 333), (200, 'B'): (33, 444),
(300, 'C'): (44, 0), (500, 'D'): (0, 555)}
(Python 2.7)
Если по какой-то причине вам нужно работать со списками, я бы предложил сначала превратить ваши списки в словари
dict1 = {(k1, k2): v for k1, k2, v in list1}
dict2 = {(k1, k2): v for k1, k2, v in list2}