如何检查列表中包含的多个数组的形状?

Hei*_*inz 0 python arrays numpy

我得到一个包含多个数组的列表,我写了下面的代码试着看看这些数组的shape [0],

for i in xrange(len(list)):
    k = list[i].shape[0]
    print k
Run Code Online (Sandbox Code Playgroud)

输出是正确的,但我想检查这些形状[0],也就是说,如果它们相同,则函数将继续,否则,如果它们不是相同的数字,则函数会中断.这该怎么做?随意给我建议,非常感谢.

更新

我创建了一个名为'ab'的列表,其中包含3个不同的数组,并使用错误和异常代码来检查形状[0]:

ab = [np.array([[1,2,3],[1,2,3]]), 
      np.array([[1,2,3]]), 
      np.array([[1,2,3],[1,2,3],[0,1,2],[0,9,9]])]

for i in xrange(len(ab)):
k = ab[i].shape[0]
print k

try:
    all(x.shape[0]==ab[0].shape[0] for x in ab)
    print 'True'
except ValueError:
    print 'False'
Run Code Online (Sandbox Code Playgroud)

但产出是:

2
1
4
True
Run Code Online (Sandbox Code Playgroud)

输出是错误的,我在哪里犯了错误?

Nil*_*ner 5

all(x.shape[0]==list[0].shape[0] for x in list)
Run Code Online (Sandbox Code Playgroud)