title: Loading multiple 2d arrays with different shapes into a new array on a third dimension
body: <p>I'm currently struggling with a probably rather simple question but I can't get my head around it.</p>
  <p>Assuming I have the follow two 2d arrays with different shapes, I can combine them into a new array using:</p>
  <pre><code>a = np.zeros((2, 3))
  b = np.zeros((4, 5))
  c = np.array([a, b])
  
  print(c.shape)
  # Output 
  # (2,)
  
  for elements in c:
      print(elements.shape)
      # Output:
      # (2, 3)
      # (4, 5)
  </code></pre>
  <p>So far so good!
  But how would I do this if I have a large list where I'd have to iterate over? Here is a simple example with just 4 different 2d arrays:</p>
  <p>This works as expected:</p>
  <pre><code>a = np.zeros((2,3))
  b = np.zeros((4,5))
  c = np.zeros((6,7))
  d = np.zeros((8,9))
  e = np.array([a, b, c, d])
  print(e.shape)
  
  # Output
  # (4,)
  
  for elements in e:
      print(elements.shape)
  
  # Output
  # (2, 3)
  # (4, 5)
  # (6, 7)
  # (8, 9)
  </code></pre>
  <p>This doesn't work as expected and my question would be how to do this in an iterative way:</p>
  <pre><code>a = np.zeros((2,3))
  b = np.zeros((4,5))
  c = np.zeros((6,7))
  d = np.zeros((8,9))
  e = None
  for elements in [a, b, c, d]:
      e = np.array([e, elements])
      
  print(e.shape)
  # Output
  # (2,) &lt;--- This should be (4,) as in the upper example, but I don't know how to achieve that :-/
  for elements in e:
      print(elements.shape)
      # (2,)
      # (8, 9)
  
  </code></pre>
  <p>I understand that in each iteration I'm just combining two arrays why it always stays at shape of (2,), but I wonder how this can be done in an elegant way.
  So basically I want to have a third dimension which states the count or amount of arrays that are stored. E.g. if I iterate of 1000 different 2d arrays I'd expect to have a shape of (1000,)</p>
  <p>Hope my question is understandable - if not let me know!
  Thanks a lot!</p>