for (first, second), count in list(d.items()):
    if count >= d_max.get(first, (None, 0))[1]:
        d_max[first] = second, count
d_max
output = [(first, second) for first, (second, count) in list(d_max.items())]
output
Make a list with the most frequent tuple of a dictionary acording the first element