In general you can concatenate a whole sequence of arrays along any axis:

``numpy.concatenate( LIST, axis=0 )``

but you do have to worry about the shape and dimensionality of each array in the list (for a 2-dimensional 3x5 output, you need to ensure that they are all 2-dimensional n-by-5 arrays already). If you want to concatenate 1-dimensional arrays as the rows of a 2-dimensional output, you need to expand their dimensionality.

As Jorge's answer points out, there is also the function `stack`, introduced in numpy 1.10:

``numpy.stack( LIST, axis=0 )``

This takes the complementary approach: it creates a new view of each input array and adds an extra dimension (in this case, on the left, so each `n`-element 1D array becomes a 1-by-`n` 2D array) before concatenating. It will only work if all the input arrays have the same shape—even along the axis of concatenation.

`vstack` (or equivalently `row_stack`) is often an easier-to-use solution because it will take a sequence of 1- and/or 2-dimensional arrays and expand the dimensionality automatically where necessary and only where necessary, before concatenating the whole list together. Where a new dimension is required, it is added on the left. Again, you can concatenate a whole list at once without needing to iterate:

``numpy.vstack( LIST )``

This flexible behavior is also exhibited by the syntactic shortcut `numpy.r_[ array1, ...., arrayN ]` (note the square brackets). This is good for concatenating a few explicitly-named arrays but is no good for your situation because this syntax will not accept a sequence of arrays, like your `LIST`.

There is also an analogous function `column_stack` and shortcut `c_[...]`, for horizontal (column-wise) stacking, as well as an almost -analogous function `hstack`—although for some reason the latter is less flexible (it is stricter about input arrays' dimensionality, and tries to concatenate 1-D arrays end-to-end instead of treating them as columns).

Finally, in the specific case of vertical stacking of 1-D arrays, the following also works:

``numpy.array( LIST )``

...because arrays can be constructed out of a sequence of other arrays, adding a new dimension to the beginning.