title: Merge multiple numpy arrays over same first dimension
body: <p>I have two numpy arrays <code>a</code> and <code>b</code> with the same first dimension e.g. <code>a.shape -&gt; (3, 100)</code> and <code>b.shape -&gt; (3, 20, 20)</code>.</p>
  <p>I need to have them converted (<em>as efficiently as possible</em>) into an array (or nested list or dict?) <code>ab</code> that has the same first dimension (here <code>3</code>).
  So when I call <code>ab[1]</code> it should return something like <code>[a[1], b[1]]</code> (or put differently <code>ab[:][0] == a</code> and <code>ab[:][1] == b</code>).</p>
  <p>I feel like this an easy problem, but I don't know what to search for and I have been sitting on this for way too long already.</p>