【发布时间】:2011-03-08 19:56:08
【问题描述】:
如何在 python 中表示矩阵?
【问题讨论】:
如何在 python 中表示矩阵?
【问题讨论】:
看看this answer:
from numpy import matrix
from numpy import linalg
A = matrix( [[1,2,3],[11,12,13],[21,22,23]]) # Creates a matrix.
x = matrix( [[1],[2],[3]] ) # Creates a matrix (like a column vector).
y = matrix( [[1,2,3]] ) # Creates a matrix (like a row vector).
print A.T # Transpose of A.
print A*x # Matrix multiplication of A and x.
print A.I # Inverse of A.
print linalg.solve(A, x) # Solve the linear equation system.
【讨论】:
Python 没有矩阵。您可以使用列表列表或NumPy
【讨论】:
如果你不打算使用 NumPy 库,你可以使用嵌套列表。这是实现动态嵌套列表(二维列表)的代码。
设r为行数
let r=3
m=[]
for i in range(r):
m.append([int(x) for x in raw_input().split()])
任何时候你都可以使用
m.append([int(x) for x in raw_input().split()])
在上面,您必须逐行输入矩阵。插入一列:
for i in m:
i.append(x) # x is the value to be added in column
打印矩阵:
print m # all in single row
for i in m:
print i # each row in a different line
【讨论】:
((1,2,3,4),
(5,6,7,8),
(9,0,1,2))
使用元组而不是列表会稍微难以以不需要的方式更改数据结构。
如果您打算大量使用这些,最好将true number array 包装在一个类中,这样您就可以在它们上定义方法和属性。 (或者,如果您打算使用这些库进行处理,您可以使用 NumPy、SciPy 等。)
【讨论】: