python 中的列表,数组和矩阵

Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。使用Python列表可以存储一维数组,通过列表的嵌套可以实现多维数组,那么为什么还需要使用Numpy呢?Numpy是专门针对数组的操作和运算进行了设计,所以数组的存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。通常Numpy数组中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以在通用性能方面Numpy数组不及Python列表,但在科学计算中,可以省掉很多循环语句,代码使用方面比Python列表简单的多。

从列表性质的[ [ ],[ ],[ ]...]中取出的是列表性质,从数组性质[ [ ],[ ],[ ]...]中取出的是数组,从矩阵中取出的还是矩阵

列表可以使用shape(a),但无法使用a.shape,数组和矩阵都可以使用

x=array( [1, 1, 1,....] )  x.ndim = 1(维数是1),如果是x = ones( (3,1) ),即使是3行1列,x.ndim = 2

列表和数组都可以和矩阵进行运算,前提是符合矩阵运算规则,结果是矩阵

列表和数组可以进行运算,结果是数组

列表和数组中可以取出单个数,而且取出来的数是数值型,矩阵中无法直接取出单个元素

>>> from numpy import *
>>> a = mat( ones( (3,2) ) )
>>> a
matrix([[ 1.,  1.],
        [ 1.,  1.],
        [ 1.,  1.]])
>>> a[0]
matrix([[ 1.,  1.]])    #a[0]取出来的是矩阵[ [1 ,1] ]
>>> a[0][0]
matrix([[ 1.,  1.]])    #a[0][0]取出的是矩阵[ [1 ,1] ]的第一行元素组成矩阵,还是[ [1 ,1] ]

猜你喜欢

转载自blog.csdn.net/xiaobaicai4552/article/details/79413325
今日推荐