python中 报错IndexError: list index out of range

掌上鹅 2017-10-25 11:42:44
listbuf是一个已知列表
numb=1
list1=[]
while numb<=len(listbuf):
list1.append(listbuf[numb])
numb+=1
报错:IndexError: list index out of range
当numb+=1改为numb+=2又不会报错,这是为什么。
怎样做才能在用numb+=1的时候不报错
...全文
1117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanGuo_uu 2017-10-30
  • 打赏
  • 举报
回复
引用
while numb<=len(listbuf):
把=去掉就可以了。 至于+=2,你把循环一次一次地想想就清楚了。(抽象思维不够) 你的listbuf是偶数项,所以才没有报错。(你可以试试) ---------------------------------------------------------------------- 举例说明 假如listbuf=[1,2,3] 对于numb+=1 循环: numb=1 进入循环 =2 进入循环 =3 进入循环(去掉=号后,就不进循环了) 对于numb+=2 循环: numb=1 进入循环 =3 进入循环 (去掉=号后,就不进循环了)
掌上鹅 2017-10-30
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
要小于len

numb=1
list1=[]
while numb<len(listbuf):
    list1.append(listbuf[numb])
    numb+=1
[/qu [quote=引用 1 楼 oyljerry 的回复:] 要小于len

numb=1
list1=[]
while numb<len(listbuf):
    list1.append(listbuf[numb])
    numb+=1
用numb+=1怎麽就使numb<len(listbuf)不符合规则了。
oyljerry 2017-10-25
  • 打赏
  • 举报
回复
要小于len

numb=1
list1=[]
while numb<len(listbuf):
    list1.append(listbuf[numb])
    numb+=1

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧