MWE:
def showArrayOfList(a,b,c):
wlist = [np.zeros((szNext,szThis)) for (szThis,szNext) in [(a,b),(b,b),(b,b),(b,c)]]
print \"wlist:\",
Simply printing out the arrays should fairly quickly allow you too see what happened.
As to the question of where did the last dimension go. Since the size of that dimension has variable length. Numpy wont create a new dimension for it, it will simply create an array of objects (where the object is a list) of varying length.
In the showArrayOfList(2,4,4)
case your array looks like this:
First row:
[array([ 0., 0.]) array([ 0., 0.]) array([ 0., 0.]) array([ 0., 0.])]
second to fourth row:
[array([ 0., 0., 0., 0.]) array([ 0., 0., 0., 0.])
array([ 0., 0., 0., 0.]) array([ 0., 0., 0., 0.])]