title: Pythonic way to create a numpy array from a list of numpy arrays
body: <p>I generate a list of one dimensional numpy arrays in a loop and later convert this list to a 2d numpy array. I would've preallocated a 2d numpy array if i knew the number of items ahead of time, but I don't, therefore I put everything in a list.</p>
  
  <p>The mock up is below:</p>
  
  <pre><code>&gt;&gt;&gt; list_of_arrays = map(lambda x: x*ones(2), range(5))
  &gt;&gt;&gt; list_of_arrays
  [array([ 0.,  0.]), array([ 1.,  1.]), array([ 2.,  2.]), array([ 3.,  3.]), array([ 4.,  4.])]
  &gt;&gt;&gt; arr = array(list_of_arrays)
  &gt;&gt;&gt; arr
  array([[ 0.,  0.],
         [ 1.,  1.],
         [ 2.,  2.],
         [ 3.,  3.],
         [ 4.,  4.]])
  </code></pre>
  
  <p><b>My question is the following:</b></p>
  
  <p>Is there a better way (performancewise) to go about the task of collecting sequential numerical data (in my case numpy arrays) than putting them in a list and then making a numpy.array out of it (I am creating a new obj and copying the data)? Is there an "expandable" matrix data structure available in a well tested module?</p>
  
  <p>A typical size of my 2d matrix would be between 100x10 and 5000x10 floats</p>
  
  <p><b>EDIT:</b> In this example i'm using map, but in my actual application I have a for loop</p>