shape是np.array的属性,列表没有shape属性。
>>> a=[[1,2,3]]
>>> a.shape
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'shape'
数组是通过np.array()内的多维列表产生的。
1. 一维数组 / 向量(由一维列表产生)
>>> import numpy as np
>>> a=[1,2,3]
>>> b=np.array(a)
>>> b
array([1, 2, 3])
>>> b.shape
(3,)
>>> b.transpose()
array([1, 2, 3])
>>> b.shape
(3,)
2. 二维数组(列表内嵌套一个列表)
>>> a=[[1,2,3]]
>>> np.array(a)
array([[1, 2, 3]])
>>> b=np.array(a)
>>> b.shape
(1, 3)
>>> b.transpose()
array([[1],
[2],
[3]])
3. 二维数组(列表内嵌套多个列表)
>>> a=[[1,2,3],[4,5,6]]
>>> b=np.array(a)
>>> b
array([[1, 2, 3],
[4, 5, 6]])
>>> b.shape
(2, 3)
>>> b.transpose()
array([[1, 4],
[2, 5],
[3, 6]])