Python 3.x 如果时间连续,如何在时间间隔列表中合并2个子列表?
根据此日历,当一个人预订时,间隔时间为:Python 3.x 如果时间连续,如何在时间间隔列表中合并2个子列表?,python-3.x,algorithm,list-manipulation,Python 3.x,Algorithm,List Manipulation,根据此日历,当一个人预订时,间隔时间为: list = [['10:00','11:30'],['12:30','14:30'],['14:30','15:00'],['16:00','17:00'],['17:30','20:00'],['20:00','21:00']] 示例:此人的预订时间为10:00至11:30,11:30至12:30有空。 ps:每个子列表都是一个约会。 我想制作一个python脚本,可以将列表安排为如下所示: output =[['10:00','11:30'],[
list = [['10:00','11:30'],['12:30','14:30'],['14:30','15:00'],['16:00','17:00'],['17:30','20:00'],['20:00','21:00']]
示例:此人的预订时间为10:00至11:30,11:30至12:30有空。
ps:每个子列表都是一个约会。
我想制作一个python脚本,可以将列表安排为如下所示:
output =[['10:00','11:30'],['12:30','15:00'],['16:00','17:00'],['17:30','21:00']]
当第一个约会的结束时间等于第二个约会的结束时间时,我们合并连续约会。尝试以下方法:
list = [['10:00','11:30'],['12:30','14:30'],['14:30','15:00'],['16:00','17:00'],['17:30','20:00'],['20:00','21:00']]
merged = []
for appt in list:
if len(merged) == 0:
merged.append(appt)
else:
last = merged[-1]
if appt[0] == last[1]:
last[1] = appt[1]
else:
merged.append(appt)
print(merged)
给出:
[['10:00', '11:30'], ['12:30', '15:00'], ['16:00', '17:00'], ['17:30', '21:00']]
提到