用print确认过每个数组的维度,为什么还是会有这样的错?

def initialize(layer_dims):
para={}
L=len(layer_dims)
for l in range(1,L):
para['W'+str(l)]=np.random.randn(layer_dims[l],layer_dims[l-1])*0.01
para['b'+str(l)]=np.zeros((layer_dims[l],1))
return para

def forward(X,layer_dims,para):
cache={}
L=len(layer_dims)-1
A_pre = X

for l in range(1,L):
    Wl=para['W'+str(1)]
    bl=para['b'+str(l)]
    Zl = np.dot(Wl,A_pre)+bl
    assert(Zl.shape == (Wl.shape[0],A_pre.shape[1]))

layer_dims = [12288, 20, 7, 5, 1]

X的维度是(12288,209)
W1的维度应该是(20,12288)但是在用Wl.shape[0]输出时结果却是20 20
为什么shape[0]会有2个输出结果,Wl.shape[1]也有2个输出结果 :12288  12288
然后在计算上面的代码段时就出现了
![图片说明](https://img-ask.csdn.net/upload/202001/31/1580464520_6444.png)

是啊这行,Wl=para['W'+str(1)]
这个小写字母l和数字1傻傻分不清啊,小写字母l和大小写字母o不应该作为变量,请参考clean code