a = [(1, 'a'), (4, 'a'), (6, 'b'), (7, 'c'), (12, 'a')]
b = [(5, 'd'), (10, 'c'), (11, 'e')]
c = [(0, 'b'), (3, 'd')]
for i in heapq.merge(a, b, c):
    i
Перебирать несколько отсортированных списков по порядку