为什么我将shape方法应用于只有一个元素的数组,它返回一个空元组?

时间:2015-05-15 16:08:45

标签: python arrays numpy multidimensional-array

我有一个列表S.在第二个元素中有另一个列表包含几个数组。如果我打印S[1][4].shape[0]程序返回一个空元组,但如果我打印S[1][4]程序返回一个数字。 S[1][4]的类型为nd.array。 为什么不将shape方法返回< 1>?

1 个答案:

答案 0 :(得分:3)

numpy数组可以有0个维度,在这种情况下,形状元组将为()。如果它是1d数组,则它可以具有(1,)形状。

比较这3个阵列的形状:

np.array(3)
np.array([3])
np.array([[3]])

它们都有1个元素,但.ndim.shape不同。