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

为什么这个代码会报错:IndexError: list index out of range
2024-11-15 17:31:57
推荐回答(3个)
回答1:

原因是,在第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 即使你所需要的

回答2:

因为你最开始len(m)得出的长度始终是开始的5。但你循环的时候,删除了元素,实际上len(m)已经发生变换,变成了4而后变成3,你要循环到5,肯定报错

回答3:

m.remove后,m[4]不存在了、m[3]
所以循环到后面就报错了吧…