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

如何在Python的for循环中正确使用类似array[i+1]的索引写法?

问题原因

你的Python代码报错核心是列表下标越界:当循环变量i取到列表最后一个索引时,i+1超出了列表的合法下标范围,Python不允许直接访问不存在的列表元素,会抛出索引错误。
另外你当前的循环起始值设为1,还漏掉了第一个元素和第二个元素的配对判断,和原JavaScript逻辑不一致。

正确实现方案

写法1:限制循环范围(推荐,性能更高)

直接控制i的最大取值为列表长度减2,保证i+1永远在合法下标范围内,和原逻辑效果完全一致:

b = [10, 20, 3, 4, 5, 30, 44, 90, 100]
pair_num = 0

for i in range(len(b) - 1):
    if b[i] % 10 == 0 and b[i+1] % 10 == 0:
        pair_num += 1

print(pair_num)

写法2:完全对齐原JS逻辑

如果要和你原JS的写法(遍历所有下标,越界时自动跳过计数)完全对齐,可以加一层下标合法性判断:

b = [10, 20, 3, 4, 5, 30, 44, 90, 100]
pair_num = 0

for i in range(len(b)):
    if b[i] % 10 == 0:
        # 先判断i+1是否在合法范围内,再取值判断
        if i + 1 < len(b) and b[i+1] % 10 == 0:
            pair_num += 1

print(pair_num)

两种写法的运行结果都是2,和原JavaScript代码的执行结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:15:03