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

Python如何遍历数组所有元素 解决循环仅取首个值无限运行问题

问题根因

你的代码有两处逻辑错误直接导致异常表现:

  • 外层包裹了无终止条件的while True循环,代码运行后会无限重复执行内部逻辑,永远不会自动退出
  • break语句被错误放在for循环块内,第一次循环处理完数组第一个元素后就会直接跳出for循环,永远不会遍历到后续元素,之后又回到while循环的下一轮重复处理第一个元素,就出现了你说的无限循环、永远只取第一个值的问题。
修正代码

直接删除多余的外层while True循环,同时移除for循环里位置错误的break即可,遍历完listing_ids的所有元素后流程会自动结束。这里顺手优化了遍历写法,不用手动取索引更简洁,还加了基础异常处理避免单条请求失败中断整个脚本:

import requests

# 此处提前配置好你的cookies、headers、listing_ids参数
for lid in listing_ids:
    try:
        resp = requests.get(f'apiurl/{lid}/pr', cookies=cookies, headers=headers)
        resp_json = resp.json()
        print(resp_json['jsonValue'])
    except Exception as e:
        print(f"处理listing_id={lid}时出错: {str(e)}")
可选优化点
  • 遍历列表时优先直接迭代元素本身,不要用range(len(列表))取索引再读值的写法,可读性更高也不容易写错
  • 接口请求、JSON解析环节一定要加异常捕获,避免某条请求超时、返回非JSON格式、字段缺失直接让整个脚本崩掉
  • 如果listing_ids元素数量较多,可以在每次请求后加time.sleep(1)这类间隔逻辑,避免请求频率过高被服务端限流封禁

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:06:26