Мне это не поможет, и это не место для более масштабных вопросов, подобных этому.
Но вот действительно уродливое решение, которое возвращается каждый час, не включенное в оба списка.
check_1 = [{'from': 1, 'to': 4}, {'from': 6, 'to': 9}, {'from': 11, 'to': 13}]
check_2 = [{'from': 7, 'to': 18}]
time_list_1 = []
time_list_2 = []
for i in check_1:
time_list_1 += [i for i in range(list(i.values())[0], list(i.values())[1])]
for i in check_2:
time_list_2 += [i for i in range(list(i.values())[0], list(i.values())[1])]
print(list(set(time_list_1) - set(time_list_2)))