Python如何将三个列表合并为带指定键的嵌套字典
Python 嵌套任务字典生成方案
你可以直接通过字典推导式实现需求,这是最简洁的写法:
# 示例输入列表 starting_tasks = ["Task1", "Task2", "TaskN"] starting_time = ["time1", "time3", "timeX"] end_time = ["time2", "time4", "timeY"] # 核心生成代码 mydict = { task: {"start_time": s_time, "end_time": e_time} for task, s_time, e_time in zip(starting_tasks, starting_time, end_time) }
生成结果完全符合你要求的格式:
{ 'Task1': {'start_time': 'time1', 'end_time': 'time2'}, 'Task2': {'start_time': 'time3', 'end_time': 'time4'}, 'TaskN': {'start_time': 'timeX', 'end_time': 'timeY'} }
如果你后续需要在生成过程中加入额外的校验、字段处理逻辑,也可以用普通循环实现:
mydict = {} for task, s_time, e_time in zip(starting_tasks, starting_time, end_time): # 可在这里加入自定义逻辑,比如时间格式校验、空值过滤等 mydict[task] = { "start_time": s_time, "end_time": e_time }
注意事项
如果三个列表长度可能不一致,Python 3.10及以上版本可以给zip添加strict=True参数,长度不匹配时会直接抛出异常,避免生成缺漏数据的字典:
zip(starting_tasks, starting_time, end_time, strict=True)
内容的提问来源于stack exchange,提问作者Chris Chance
相关产品推荐
相关产品推荐

