python-3.x - 如果时间是连续的,如何在时间间隔列表中合并 2 个子列表?
问题描述
鉴于此人在预订时的间隔时间日历:
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']]
推荐阅读
- argocd - argocd 的默认密码是多少?
- c# - 这个注释有什么不同吗[DataType(DataType.Text)]
- android - Android中的AES加密/解密
- java - 无法保存主要的 Jenkins 配置?
- angular - 通过使用 ng-packagr 向 ng-package.json 添加“资产”,全局样式未应用于 Angular 库
- wso2 - 用户帐户暂停在 WSO2 身份服务器 5.10.0 中不起作用
- python - 导入 SpacyTextBlob 显示 Attributeerror
- php - 3次错误登录尝试后如何在laravel上再次启用锁定用户
- javascript - 如何从文本框中的函数分配保存的更新值
- nginx - Nginx中的000和499错误码有什么区别