title: Why does numpy.zeros takes up little space
body: <p>I am wondering why numpy.zeros takes up such little space?</p>
  
  <pre><code>x = numpy.zeros(200000000)
  </code></pre>
  
  <p>This takes up no memory while,</p>
  
  <pre><code>x = numpy.repeat(0,200000000)
  </code></pre>
  
  <p>takes up around 1.5GB. Does numpy.zeros create an array of empty pointers? 
  If so, is there a way to set the pointer back to empty in the array after changing it in cython? If I use:</p>
  
  <pre><code>x = numpy.zeros(200000000)
  x[0:200000000] = 0.0
  </code></pre>
  
  <p>The memory usage goes way up. Is there a way to change a value, and then change it back to the format numpy.zeros originally had it in python or cython?</p>