有这样一个列表:
            
              s=list('abcdefg')
            
          
        现在因为某种原因我们需要从s中踢出一些不需要的元素,方便起见这里直接以踢出所有元素的循环代替:
            
              for e in s:
    s.remove(e)
            
          
        结果却是:
            
              In [3]: s
Out[3]: ['b', 'd', 'f']
            
          
        
          
            多次示例后发现,这种remove方式保持着隔1删1的规律。
          
        
        
          
            
              
                那么改一下代码看看出了什么问题:
              
            
          
          
            
        
        
      
              In [14]: i=0
In [15]: for e in s: 
    ...:     print("第"+str(i)+"次循环删前:s=",s) 
    ...:     print(e) 
    ...:     s.remove(e) 
    ...:     print("第"+str(i)+"次循环删后:s=",s) 
    ...:     i=i+1 
            
          

