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

Python如何向字典内的列表追加每次API调用返回的订阅ID数据

实现方案

核心逻辑

通过循环分页调用API,每次将返回的订阅ID列表批量追加到目标字典的subscription_id_list字段中,直到拉取完全量数据为止。

基础代码实现

首先初始化你的目标存储结构:

# 初始化存储用的字典,包含你已有的初始订阅ID
result_dict = {
    "subscription_id_list": ["92878351", "93153640", "93840845", "93840847"]
}
# 和API限制对齐,单次请求最大返回条数
MAX_PAGE_SIZE = 10000

场景1:API使用offset/limit分页

offset = 0  # 分页偏移量,初始值根据API要求调整,通常为0
while True:
    # 替换为你实际调用API的请求逻辑,传入分页参数
    api_resp = your_api_request(offset=offset, limit=MAX_PAGE_SIZE)
    # 提取当前页返回的订阅ID列表,字段名根据你实际的API返回结构修改
    current_id_list = api_resp.get("data", {}).get("subscription_ids", [])

    # 当前页无数据时终止循环,说明已拉取完全量
    if not current_id_list:
        break

    # 批量追加当前页ID到目标列表,注意用extend而非append
    result_dict["subscription_id_list"].extend(current_id_list)

    # 偏移量累加,准备拉取下一页
    offset += len(current_id_list)

场景2:API使用page/page_size分页

page = 1  # 初始页码,根据API要求调整,通常为0或1
while True:
    # 替换为你实际调用API的请求逻辑,传入分页参数
    api_resp = your_api_request(page=page, page_size=MAX_PAGE_SIZE)
    # 提取当前页返回的订阅ID列表,字段名根据你实际的API返回结构修改
    current_id_list = api_resp.get("data", {}).get("subscription_ids", [])

    if not current_id_list:
        break

    result_dict["subscription_id_list"].extend(current_id_list)
    # 页码自增,拉取下一页
    page += 1

注意事项

  • 必须使用extend()方法追加列表:append()会把整个返回的ID列表作为单个元素插入原列表,不符合需求
  • 如果需要对订阅ID去重,全量拉取完成后可执行:result_dict["subscription_id_list"] = list(set(result_dict["subscription_id_list"])),需要保留原有顺序的话可以用遍历判断的方式处理
  • 可根据API要求添加请求重试、异常捕获逻辑,避免临时接口错误导致拉取中断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:54:04