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

Python Requests模块循环问题:range(0,4)未获取全部5个网页的原因

关于Python range()函数索引覆盖的问题解答

嘿,这个问题其实是Python新手常踩的range()函数误区,我来给你掰扯清楚~

你之所以只拼接了4个网页,核心原因是**range(start, stop)是左闭右开的区间**——它会包含start对应的数值,但永远不包含stop的数值。

举个例子,你写的range(0,4),实际生成的索引是0、1、2、3,一共4个值。而你的pages列表有5个元素,对应的索引是0、1、2、3、4,所以最后一个元素(索引4)根本没被遍历到,自然就漏掉了。

你提到的修改方案是完全正确的:

  • 改成range(0,5),会生成0-4的索引,刚好覆盖5个元素
  • 更稳妥的是用range(len(pages)),不管pages里有多少个网页,都能自动匹配正确的索引范围

另外给你提个更Pythonic的写法,其实没必要手动遍历索引,直接迭代列表里的每个网页URL就行,既简洁又能避免索引错误:

pages = [*5个网页的列表*]
final = []
for page_url in pages:
    page = requests.get(page_url)
    final.append(page.text)
print(''.join(final))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 15:27:31