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']]
提到