没有语法错误,实在不解。希望能得到解答。
哪里有错吗?一直提示少于30个字符,我都不知道说什么了,后面的只能胡说八道了。
每一次的del都会相当于让i+1了,因为这个del删掉了i对应的list中的数,但是i的值没有变,所以它会跳过下一个数,去获取下下个数。
比如:
现在是【10,20,30,40】, i = 0对应10,因为10满足条件,10没了,list变成【20,30,40】,注意,这个时候i对应的就变成了20 。for循环,i =1,i对应变成30,因为30满足条件,30没了,list变成【20,40】。这个时候就是第二个关键,因为for在开始循环的时候,你给他设置的循环次数是多少,那他就一定循环多少次。如果是for i in range(10), 除非i变了,不然绝对会执行10次。如果是a = 10, for i in range(a): a-=1, 尽管循环里面有a-=1,但是循环还是会执行10次。那么在这个例子里面,i会执行4次,就是list现在是【20,40】,它还会继续。因为list实际上只有2个数了,所以index就超出了