yxy殷 2022-08-11 23:16 采纳率: 0%
浏览 457
已结题

IndexError: list index out of range错误调试

问题遇到的现象和发生背景

试着编一个程序,但是出现了下标越界

问题相关代码

vis=[]
coordinate_final3=[]
for i in range(2501):
vis.append([])
for j in range(2501):
vis[i].append(0)
center=[]
for i in range(2501):
center.append([])
for j in range(2501):
center[i].append(0)
data = pd.read_csv("数据.csv")
x=data['x'].tolist()
y=data['y'].tolist()
center=[]
m=len(x)
for i in range(m):
vis[x[i]][y[i]]=1
for i in range(m):
n=0
cache=[]
minlength=x[i]-30
if minlength<0:
minlength=0
maxlength=x[i]+30
if maxlength>2500:
maxlength=2500
minhigh=y[i]-30
if minhigh<0:
minhigh=0
maxhigh=x[i]+30
if maxhigh>2500:
maxhigh=2500
for i1 in range(minlength,maxlength):
for i2 in range(minhigh,maxhigh):
if vis[i1][i2]==1 and center[i1][i2]!=2 and center[i1][i2]!=3:
n=n+1
cache.append([i1,i2])
if n<10:
center[x[i]][y[i]]=1
if n>10:
for i3 in range(n):
center[cache[i][0]][cache[i][1]]=2
center[x[i]][y[i]]=3
x_last=[]
y_last=[]
location=[]
for i in range(2500):
for j in range(2500):
if center[i][j]!=0:
x_last.append(i)
y_last.append(j)
location.append(center[i][j])
outdata = {'x': x_last, 'y': y_last,'group':location}
df = DataFrame(outdata)
df.to_csv('基站的选择结果.csv')

运行结果及报错内容

Traceback (most recent call last):
center[x[i]][y[i]]=1
IndexError: list index out of range

我的解答思路和尝试过的方法

list index out of range应该是两种情况吧,一种是列表为空,这个应该是不可能的,还有一个就是下标越界。
下标越界试着检查了一下,在错误行数的地方加上了center[2500][2500]=1进行验证发现还是下标越界,但是放到交互式里面就没有问题。

我想要达到的结果

让代码正常运行

  • 写回答

4条回答 默认 最新

  • herosunly Python领域优质创作者 2022-08-12 00:37
    关注

    麻烦重新编辑下代码,没有缩进没法处理

    评论

报告相同问题?

问题事件

  • 系统已结题 8月19日
  • 创建了问题 8月11日

悬赏问题

  • ¥15 FFmpeg 成功推流到 Nginx RTMP 服务器但无法用 ffplay 或 VLC 播放
  • ¥15 用G92修改坐标,结果无效。
  • ¥15 请修改以下C语言代码使其能正确输出最短路径
  • ¥20 抖音商城拉码器安卓报错求解决办法或者有新的拉码脚本也可以介绍一下
  • ¥15 MPLAB IDE V2.35 报错make[2]: *** [build/default/production/_ext/1472/MSSP_I2C.p1] Error 1
  • ¥15 Unity2D URP项目TextMeshPro(3D)无法显示文字
  • ¥15 新唐M451 DTMF检测和发送代码修改
  • ¥15 在国外文献网站里点击view pdf 加载异常缓慢甚至加载不出来。
  • ¥65 python批量提取发票的信息
  • ¥15 虚幻五引擎内容如何上传至网盘?