我如何获得时间段的相对补? [关闭]

问题描述 投票:-1回答:1

我希望有一个人可以帮助我。有时间范围的两个列表/类型的字典,我想确实有他们的相对补,我想不出一个逻辑如何做到这一点。

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}]
python difference relative complement
1个回答
1
投票

我不这样会帮助你,这是不是真的对较大规模的问题,像这样的地方。

但这里是一个非常丑陋的解决方案,它返回未包含在两个列表中每隔一小时。

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)))
© www.soinside.com 2019 - 2024. All rights reserved.