如何在python中表示矩阵?
答案 0 :(得分:44)
看看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.
答案 1 :(得分:11)
Python没有矩阵。您可以使用列表列表或NumPy
答案 2 :(得分:4)
如果您不打算使用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
答案 3 :(得分:2)
((1,2,3,4),
(5,6,7,8),
(9,0,1,2))
使用元组而不是列表会使得以不需要的方式更改数据结构变得更加困难。
如果您要广泛使用它们,最好在类中包装true number array,这样就可以在它们上定义方法和属性。 (或者,您可以使用NumPy,SciPy,...如果您要对这些库进行处理。)