我如何获得时间范围的相对补充?

时间:2019-02-07 18:43:43

标签: python difference relative complement

我希望有人能帮助我。 时间范围有两个列表/字典,我想对它们进行相对补充,但我不知道如何做到这一点。

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 :(得分:2)

我不是这样,不会对您有帮助,这实际上不是解决诸如此类的大规模问题的地方。

但这是一个非常丑陋的解决方案,每小时都会返回两个列表中未包含的内容。

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