如何结合continue与break实现含organize的任务筛选并限制列表长度
解决思路与代码实现
核心逻辑说明
要结合continue和break完成需求,只需在遍历过程中做两步关键判断:
- 用
continue跳过不符合筛选条件的任务(不含"organize"子串) - 用
break在目标列表长度达标时直接终止整个循环
完整代码
tasks = { 0 : ['Reorganize the cabinet'], 1 : ['Give the dog a bath', 'Create a twitter thread'], 2 : ['Learn python dictionary'], 3 : ['Take a walk'], 4 : ['Go grocery shopping'], 5 : ['Update Facebook'], 6 : ['Respond to emails'], 7 : ['Walk the dog'] } to_do_list = [] # 遍历字典中的所有任务组 for task_group in tasks.values(): # 遍历单个任务组里的每一项任务 for task in task_group: # 转为小写判断,避免因大小写遗漏符合条件的任务 if "organize" not in task.lower(): # 不符合条件,跳过当前任务,直接处理下一个 continue # 符合条件则添加到待办列表 to_do_list.append(task) # 检查列表长度是否达到2,达标则终止所有循环 if len(to_do_list) == 2: break # 内层循环未触发break时,继续外层循环;触发则终止外层 else: continue break print(to_do_list)
代码细节解释
continue:当当前任务不含"organize"子串时,直接跳过该任务的后续操作,转而处理下一个任务,避免无效的逻辑执行- 双层
break:内层循环中待办列表长度达标后,先终止当前任务组的遍历,再通过外层判断终止整个字典遍历,彻底停止后续不必要的遍历操作
内容的提问来源于stack exchange,提问作者Mdick
相关产品推荐
相关产品推荐

