如何在Python中高效遍历嵌套defaultdict结构中的列表?
构建嵌套defaultdict归类日程表URL
看起来你已经找对了方向——用嵌套的defaultdict来构建这种层级化的URL存储结构非常合适!我帮你把代码补全并修正几个小细节,再给你讲讲怎么用:
修正后的完整代码
from collections import defaultdict def setup_urls(option): # 构建三层嵌套的defaultdict:选项 → 季度 → 周 → URL列表 urls = defaultdict(lambda: defaultdict(lambda: defaultdict(list))) for quarter in range(1, 5): for week in range(1, 53): # 替换成你实际的URL计算逻辑 url = f"https://your-calendar.com/{option}/Q{quarter}/week{week}" urls[option][quarter][week].append(url) return urls
关键细节说明
- 三层嵌套的
defaultdict完全匹配你的分类需求:- 第一层键:选项(支持你提到的3种可能)
- 第二层键:季度(1到4,覆盖全年4个季度)
- 第三层键:周(1到52,对应全年52周),对应的值是URL列表,方便存储同周的多个日程链接
- 代码里的URL生成是示例,你只需要把那行替换成你实际从日程表获取URL的逻辑就行
- 修正了原代码里的变量名不一致问题(原代码里用了
links但定义的是urls),补全了return语句
使用示例
# 生成"edit"选项对应的所有URL结构 calendar_urls = setup_urls("edit") # 查看第3季度第25周的URL列表 print(calendar_urls["edit"][3][25]) # 输出:['https://your-calendar.com/edit/Q3/week25']
内容的提问来源于stack exchange,提问作者M. Douglas
相关产品推荐
相关产品推荐

