You need to enable JavaScript to run this app. 如何通过嵌套字典分层遍历拼接生成符合规则的目标URL
优惠活动
大模型
产品
解决方案
定价
更多

如何通过嵌套字典分层遍历拼接生成符合规则的目标URL

嵌套字典批量生成目标URL的实现方案

原代码的核心问题

  • 直接对字典做键值解包遍历没有调用.items()方法,语法层面就无法正确获取一级键值对
  • 没有针对嵌套的二级城市字典做二次遍历,无法拿到每个城市对应的名称和代码参数

可直接运行的实现代码

baseURL = 'https://www.website.com/business/'
provinceDictionary = {
    'AB': {
        'calgary': '91',
        'edmonton': '183',
        'canmore': '96'
    },
    'BC': {
        'vancouver': '961',
        'surrey': '934',
        'victoria': '966'
    }
}

generated_urls = []
# 第一层遍历:提取省级编码,以及该省下属的城市-城市代码映射表
for province_code, city_map in provinceDictionary.items():
    # 第二层遍历:提取当前省下属的城市名称、对应城市代码
    for city_name, city_code in city_map.items():
        # 严格匹配URL结构拼接地址
        full_url = f"{baseURL}{province_code}/{city_name}/{city_code}.html"
        generated_urls.append(full_url)
        print(full_url)

实际输出效果

运行代码后会生成符合要求的地址列表:

https://www.website.com/business/AB/calgary/91.html
https://www.website.com/business/AB/edmonton/183.html
https://www.website.com/business/AB/canmore/96.html
https://www.website.com/business/BC/vancouver/961.html
https://www.website.com/business/BC/surrey/934.html
https://www.website.com/business/BC/victoria/966.html

关键注意事项

  • Python中遍历字典获取键值对,必须通过.items()方法返回的(键, 值)元组结构做解包,直接写for key, value in 字典名会报解包错误
  • 两层嵌套结构需要对应两层循环完成遍历,不能跳过二级字典的遍历步骤直接取内嵌参数
  • 优先用f-string做字符串插值拼接URL,比逐次拼接字符串的可读性更高,也不容易出现斜杠错位的格式问题

内容的提问来源于stack exchange,提问作者Meowsleydale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 21:15:02