我得到了包含多个阵列的列表,我写了下面的代码试试,看形状[0]这些阵列,如何检查列表中包含的多个数组的形状?
for i in xrange(len(list)):
k = list[i].shape[0]
print k
的输出是正确的,但我想检查这些形状[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'
但输出为:
2
1
4
True
输出错了,我在哪里犯了一个错误?
所以,'名单[I]'将是一个数组,对不对?如果是这样,你想要检查它的“形状[0]”是什么? – Divakar
'对于我在xrange(len(list))''不是pythonic。相反,使用'for l in list'! –
最好不要将列表命名为'list',因为'list'是一个有用内建的名称。当你一个月回来并添加需要内置的代码时,这是一个等待发生的错误。 –