You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从字典项替换请求对象并生成多份请求?

生成对应每组国家和城市的请求体解决方案

你的需求是从给定字典中,将对应索引的国家和城市配对,替换到payload模板里,生成4个独立的请求体。你之前的代码存在逻辑混乱、变量未定义的问题,所以无法得到预期结果。

正确实现方法

利用zip()函数将字典中country和city列表的对应元素配对,循环生成每个请求体即可:

dict_items = {"country":["india","uk","usa","srilanka"],"city":["delhi","london","new york","colombo"]}

# 提取国家和城市列表
countries = dict_items["country"]
cities = dict_items["city"]

# 存储所有生成的请求体(也可直接在循环中使用,无需存储)
payload_list = []

# 遍历配对后的每组国家和城市
for country, city in zip(countries, cities):
    # 生成当前组的请求体
    current_payload = {
        "country": country,
        "city": city
    }
    payload_list.append(current_payload)

# 验证结果
for num, payload in enumerate(payload_list, start=1):
    print(f"第{num}个请求体: {payload}")

运行输出

第1个请求体: {'country': 'india', 'city': 'delhi'}
第2个请求体: {'country': 'uk', 'city': 'london'}
第3个请求体: {'country': 'usa', 'city': 'new york'}
第4个请求体: {'country': 'srilanka', 'city': 'colombo'}

补充说明

  • zip(countries, cities)会自动将两个列表中同索引的元素配对成元组,确保国家和城市一一对应;
  • 如果不需要存储所有请求体,可直接在循环内对current_payload进行操作(比如发送HTTP请求),无需存入payload_list;
  • 若字典中country和city列表长度不一致,zip()会以较短的列表长度为准,避免索引越界。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:15:57