Python 合并两个不同的日期时间间隔列表
我正在尝试合并两个列表。每个列表都有一个开始日期、结束日期和一个值。结果列表必须同时具有这两个值。当间隔不匹配时,需要拆分列表2中的间隔。我能够每天都这样做,并从两个列表中获取值。然而,这是非常低效的,因此它无法处理大型列表。我想知道最有效的方法是什么 下面是一个例子: 清单1Python 合并两个不同的日期时间间隔列表,python,algorithm,datetime,intervals,Python,Algorithm,Datetime,Intervals,我正在尝试合并两个列表。每个列表都有一个开始日期、结束日期和一个值。结果列表必须同时具有这两个值。当间隔不匹配时,需要拆分列表2中的间隔。我能够每天都这样做,并从两个列表中获取值。然而,这是非常低效的,因此它无法处理大型列表。我想知道最有效的方法是什么 下面是一个例子: 清单1 [ ['ALL', 'ALL', 2], ['2013-11-24', '2013-11-30', 4], ['2013-12-24', '2014-01-01', 3], ] 清单2 [ ['
[
['ALL', 'ALL', 2],
['2013-11-24', '2013-11-30', 4],
['2013-12-24', '2014-01-01', 3],
]
清单2
[
['2013-07-08', '2013-08-29', '1800.00'],
['2013-08-30', '2013-09-06', '1800.00'],
['2013-10-01', '2013-10-31', '1500.00'],
['2013-11-24', '2013-12-03', '400.00'],
['2013-12-24', '2014-01-03', '500.00'],
]
结果列表
[
['2013-07-08', '2013-08-29', '1800.00', 2],
['2013-08-30', '2013-09-06', '1800.00', 2],
['2013-10-01', '2013-10-31', '1500.00', 2],
['2013-11-24', '2013-11-30', '400.00', 4],
['2013-12-01', '2013-12-03', '400.00', 2],
['2013-12-24', '2014-01-01', '500.00', 3],
['2014-01-02', '2014-01-03', '500.00', 2]
]
我将感谢任何帮助。谢谢。当您收到这些列表时,它们是否已排序?是的。按开始日期排序。创建一个循环,查看每个列表中的下一个元素。如果它们相同,则合并并转到两个列表中的下一个元素。否则,如果它们重叠,请处理。否则,处理前面的元素,然后转到该列表中的下一个元素,但保持在另一个列表中的同一元素上。