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

Python不使用reverse函数反转列表时出现IndexError问题排查

问题分析与修正

错误原因

  • 索引越界:你将y初始化为len(list1)(值为4),但Python列表的索引从0开始,list1的最大有效索引是3,访问list1[4]直接触发IndexError。
  • 循环次数不足:range(1, int(len(list1)/2))中,len(list1)/2等于2,range(1,2)只会执行1次循环,而反转长度为4的列表需要交换2次(索引0↔3、1↔2),无法完成完整反转。
  • 起始索引错误:c初始设为1,应该从0开始,这样才能从列表第一个元素开始交换。

修正后的代码

list1 = [1,2,3,4]
y = len(list1) - 1  # 初始化为最后一个元素的有效索引
c = 0

# 循环次数为列表长度的一半,range(0,2)会循环2次
for x in range(int(len(list1)/2)):
    list1[c], list1[y] = list1[y], list1[c]
    y -= 1 
    c += 1 

print(list1)  # 输出: [4,3,2,1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:10:51