一个关于python的小问题:为什么这个代码会报错:IndexError: list index out of range(代码如图)

为什么这个代码会报错:IndexError:listindexoutofrange... 为什么这个代码会报错:IndexError: list index out of range 展开
 我来答
就一
2019-02-23 · 超过25用户采纳过TA的回答
知道答主
回答量:91
采纳率:60%
帮助的人:34.6万
展开全部
原因是,在第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 即使你所需要的
百度网友51e5284
2019-02-23 · 超过11用户采纳过TA的回答
知道答主
回答量:42
采纳率:55%
帮助的人:10.1万
展开全部
因为你最开始len(m)得出的长度始终是开始的5。但你循环的时候,删除了元素,实际上len(m)已经发生变换,变成了4而后变成3,你要循环到5,肯定报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZXand618
2019-02-23 · ECharts、Python、以及其他
ZXand618
采纳数:97 获赞数:140

向TA提问 私信TA
展开全部
m.remove后,m[4]不存在了、m[3]
所以循环到后面就报错了吧…
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式