Как я могу получить относительное дополнение временных диапазонов? - PullRequest
0 голосов
/ 07 февраля 2019

Я надеюсь, что кто-то может мне помочь.Есть два списка / диктанта временных диапазонов, и я хочу иметь относительное их дополнение, и я не могу понять логику, как это сделать.

like this

check_1 = [{'from': 1, 'to': 4}, {'from': 6, 'to': 9}, {'from': 11, 'to': 13}]
check_2 = [{'from': 7, 'to': 18}]

И я хочу получить:

   result = [{'from': 1, 'to': 4}, {'from': 6, 'to': 7}]

1 Ответ

0 голосов
/ 07 февраля 2019

Мне это не поможет, и это не место для более масштабных вопросов, подобных этому.

Но вот действительно уродливое решение, которое возвращается каждый час, не включенное в оба списка.

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)))
...