python中的列矩阵表示
答
矩阵是二维结构。在普通的Python中,矩阵的最自然的表示形式是列表列表。
所以,你可以写一个行矩阵为:
[[1, 2, 3, 4]]
,写一个列矩阵为:
[[1],
[2],
[3],
[4]]
这很好地延伸到MXN矩阵,以及:
[[10, 20],
[30, 40],
[50, 60]]
有关如何开发af的示例,请参阅matfunc.py纯Python中的矩阵包。 它的文档是here。
这里是用列表中,列出了表示在普通的Python做矩阵乘法的采空例如:
>>> from pprint import pprint
>>> def mmul(A, B):
nr_a, nc_a = len(A), len(A[0])
nr_b, nc_b = len(B), len(B[0])
if nc_a != nr_b:
raise ValueError('Mismatched rows and columns')
return [[sum(A[i][k] * B[k][j] for k in range(nc_a))
for j in range(nc_b)] for i in range(nr_a)]
>>> A = [[1, 2, 3, 4]]
>>> B = [[1],
[2],
[3],
[4]]
>>> pprint(mmul(A, B))
[[30]]
>>> pprint(mmul(B, A), width=20)
[[1, 2, 3, 4],
[2, 4, 6, 8],
[3, 6, 9, 12],
[4, 8, 12, 16]]
正如另一位受访者提到,如果你认真做基质的工作,它你应该安装numpy,它可以直接支持许多矩阵操作:
这取决于你确切需要什么,试着向我们解释为什么你需要这个。 Python中的列表总是像行矩阵,但使用不同的数据类型,你可以拥有你所需要的。 – 2013-03-28 06:42:51
我有2个矩阵一行矩阵和其他列矩阵。我想乘这两个。 – diva 2013-03-28 06:45:48
检查这个http://*.com/questions/10508021/matrix-multiplication-in-python – 2013-03-28 06:47:08