numpy.matrix('1 2; 3 4') # use Matlab-style syntax
numpy.arange(25).reshape((5, 5)) # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5)) # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5)) # pass a Python list and reshape
numpy.empty((5, 5)) # allocate, but don't initialize
numpy.ones((5, 5)) # initialize with ones
numpy.ndarray((5, 5)) # use the low-level constructor
以下是初始化列表列表的简短表示法:
不幸的是,将其缩短为类似
5*[5*[0]]
的值并不能真正起作用,因为最终会得到同一列表的5个副本,所以当您修改其中一个列表时,它们都会更改,例如:从技术上讲,您试图为未初始化的数组编制索引。在添加项之前,必须首先用列表初始化外部列表;Python调用 “列表理解”。
现在可以向列表中添加项:
注意,矩阵是“y”主地址,换句话说,“y索引”在“x索引”之前。
尽管您可以随意命名它们,但我这样看是为了避免索引时可能出现的一些混乱,如果您对内部和外部列表都使用“x”,并且希望使用非正方形矩阵。
如果您真的需要一个矩阵,那么最好使用
numpy
。numpy
中的矩阵运算通常使用二维数组类型。创建新数组的方法有很多;最有用的方法之一是zeros
函数,该函数接受形状参数并返回给定形状的数组,其值初始化为零:numpy
还提供了matrix
类型。它不太常用,有些人使用它。但它对于从Matlab和其他环境中来到numpy
的人很有用。我想我应该把它包括进去,因为我们在讨论矩阵!下面是一些创建二维数组和矩阵的其他方法(为了紧凑性而删除输出):
相关问题 更多 >
编程相关推荐