title: Strange result when removing item from a list while iterating over it
body: <p>I've got this piece of code:</p>
  <pre><code>numbers = list(range(1, 50))
  
  for i in numbers:
      if i &lt; 20:
          numbers.remove(i)
  
  print(numbers)
  </code></pre>
  <p>but the result I'm getting is:<br />
  <code>[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]</code></p>
  <p>Of course, I'm expecting the numbers below 20 to not appear in the results. Looks like I'm doing something wrong with the remove.</p>