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

如何在使用For Loop迭代API请求时将关联id纳入返回结果

如何在API响应结果中关联对应的子目录ID

我正在遍历一组子目录ID列表,向API发起请求并收集响应,但目前的结果里没有包含对应的ID,希望能把每个请求的ID关联到返回的结果条目里。

现有代码

import requests
import json

responses = list() ## 定义responses为列表
responses.clear() ## 每次运行脚本时清空列表
ids = ['XXXXXXid1XXXXXX', 'XXXXXXid2XXXXXX', 'XXXXXXid3XXXXXX'] ## 定义ID列表
for id in ids:
    url = 'https://api.website/PartOfWebsite/{}'.format(id)
    rr = requests.get(url, params= {'apikey': 'my-api-key'})
    data = json.loads(rr.text)
    responses.append(data)

当前响应格式

[{'python_rules': [{'ad': 'some result', 'ret': 23908092093094808203, 'shure': 2.5}, {'ad': 'some result', 'ret': 902830894023342, 'share': 2.32}, {'ad': 'some result', 'ret': 98209283049820, 'shure': 21.3}]}]

期望的响应格式

希望每个python_rules里的条目都带上对应的请求ID:

[{'python_rules': [{'ad': 'some result', 'ret': 23908092093094808203, 'shure': 2.5, 'id': 'XXXXXXid1XXXXXX'}, {'ad': 'some result', 'ret': 902830894023342, 'share': 2.32, 'id': 'XXXXXXid2XXXXXX'}, {'ad': 'some result', 'ret': 98209283049820, 'shure': 21.3, 'id': 'XXXXXXid3XXXXXX'}]}]

解决方案

你只需要在解析完API返回的数据后,遍历python_rules里的每个条目,把当前循环的ID添加进去即可。修改后的代码如下:

import requests
import json

responses = list()
responses.clear()
ids = ['XXXXXXid1XXXXXX', 'XXXXXXid2XXXXXX', 'XXXXXXid3XXXXXX']
for id in ids:
    url = 'https://api.website/PartOfWebsite/{}'.format(id)
    rr = requests.get(url, params= {'apikey': 'my-api-key'})
    data = json.loads(rr.text)
    # 遍历每个python_rules条目,添加对应的id
    for rule in data['python_rules']:
        rule['id'] = id
    responses.append(data)

说明

这段代码的核心改动是在解析完data之后,新增了一个内层循环:

  • 遍历data['python_rules']中的每个字典对象
  • 给每个字典添加'id'键,值为当前循环的id变量

这样处理后,最终的responses列表里每个python_rules条目都会带上对应的请求ID,完全符合你期望的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 11:37:45