- list是python中的普通列表对象,而array和matrix是python numpy库中封装的两个对象
List
list可以明显的与array,matrix区别开来。list通过[ ]申明,支持append和expend等方法,没有shape属性。使用如下:
>>> data = []
>>> data.append([1,2])
>>> print(data)
[[1, 2]]
>>> data.extend([1,2])
>>> print(data)
[[1, 2], 1, 2]
#可以看出,append( )和extend( )虽然都是连接list,但是append( )是将[1, 2]整体作为一个对象,添加到list中,而extend是将[1, 2]分别作为1和2两个序列,添加到list中
总结list、array和matrix的区别
-
属性
list是Python中的普通列表对象,支持append和attend操作,没有shape属性;array和matrix是numpy数据库中的对象,不支持append和attend操作,具有shape属性。但是matrix只能是二维的,shape只有行和列属性,而array可以是n维的。 -
存放数据类型
一个list中可以存放不同类型的数据,如int、float、str,或者布尔型;而array和matrix中只能存放相同类型的数据。 -
存放数据维度
array和matrix都有shape属性,但matrix只能是2维的,array可以是n维的。
即matrix的shape只有行、列属性,就类似线性代数中的矩阵 -
乘法计算规则
list不支持乘法操作;array和matrix支持乘法操作。array的就是对应元素相乘,如果行或列数不匹配会自动补全,这就是numpy的”广播”。
array想要实现矩阵相乘,使用np.dot(array1, array2)
matrix的就是矩阵相乘。
matrix想要实现对应元素相乘,使用np.multiply(mat1, mat2) -
读取元素