title: Performing len on list of a zip object clears zip
body: <p>I am seeing a strange behavior when working with the zip() function.  When I perform the following operation len(list(z)) where z is a zip object, the result is 0 (which seems wrong to me), and the action seems to clear out the zip object.  Can someone please help me understand what is going on.</p>
  
  <pre><code># python3
  Python 3.2.3 (default, Sep 30 2012, 16:41:36) 
  [GCC 4.7.2] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  &gt;&gt;&gt; w = [11, 22, 33, 44, 55, 66]
  &gt;&gt;&gt; x = [1, 2, 3, 4]
  &gt;&gt;&gt; y = ['a', 'b', 'c']
  &gt;&gt;&gt; z = zip(x, y, w)
  &gt;&gt;&gt; z
  &lt;zip object at 0x7f854f613cb0&gt;
  &gt;&gt;&gt; list(z)
  [(1, 'a', 11), (2, 'b', 22), (3, 'c', 33)]
  &gt;&gt;&gt; len(list(z))
  0
  &gt;&gt;&gt; list(z)
  []
  &gt;&gt;&gt; z
  &lt;zip object at 0x7f854f613cb0&gt;
  &gt;&gt;&gt; 
  </code></pre>
  
  <p>Thank you,
  Ahmed.</p>