
一个关于python的小问题:为什么这个代码会报错:IndexError: list index out of range(代码如图)
3个回答
展开全部
原因是,在第2次和第3次循环中,m中的b,c已经去掉了。
则这个时候m=['a','d','e'],在最后一次循环中m[4]是没有这个值的,所以就out of range了
我建议你建一个临时的 m_temp =[]
修改下if m[temp] <>'b' and m[temp] <>'c':
m_temp.append(m[temp])
最后m_temp 即使你所需要的
则这个时候m=['a','d','e'],在最后一次循环中m[4]是没有这个值的,所以就out of range了
我建议你建一个临时的 m_temp =[]
修改下if m[temp] <>'b' and m[temp] <>'c':
m_temp.append(m[temp])
最后m_temp 即使你所需要的
展开全部
因为你最开始len(m)得出的长度始终是开始的5。但你循环的时候,删除了元素,实际上len(m)已经发生变换,变成了4而后变成3,你要循环到5,肯定报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m.remove后,m[4]不存在了、m[3]
所以循环到后面就报错了吧…
所以循环到后面就报错了吧…
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |