Unexpected result after using generator expression
<p>I am trying to filter some data I am working with to take out some artifacts such as negative numbers and errors in my measuring devices.  I have been playing with the idea of using a generator to do this.  I am using Python 2.7.2</p>

<pre><code>testlist = [12,2,1,1,1,0,-3,-3,-1]  

gen = (i for i, x in enumerate(testlist) if x &lt; 0 or x &gt; 2.5)

for i in gen: testlist.pop(i)

print testlist
</code></pre>

<p>This returns:</p>

<pre><code>[2, 1, 1, 1, 0, -3]
</code></pre>

<p>My question is why is the -3 value showing up in the updated "testlist"?  </p>
