a="1 2 3; 4 5 6"
。我如何在Python中将其表示为矩阵[1 2 3; 4 5 6]
? b
,转换为矩阵并找到a x b
。 答案 0 :(得分:3)
您可以使用numpy
模块直接从matlab类型格式的字符串创建矩阵
>>> import numpy as np
>>> a="1 2 3; 4 5 6"
>>> np.matrix(a)
matrix([[1, 2, 3],
[4, 5, 6]])
您可以使用相同的库进行矩阵乘法
>>> A = np.matrix("1 2 3; 4 5 6")
>>> B = np.matrix("2 3; 4 5; 6 7")
>>> A * B
matrix([[28, 34],
[64, 79]])
阅读numpy
库,这是一个非常强大的模块,可用于完成您所指的所有类型的工作。
答案 1 :(得分:2)
这是一种方法,将字符串拆分为;
,然后遍历每个字符串,在' '
拆分然后通过它,将其转换为int并附加到子列表,然后将该子列表附加到另一个列表:
a = "1 2 3; 4 5 6"
aSplit = a.split('; ')
l = []
for item in aSplit:
subl = []
for num in item.split(' '):
subl.append(int(num))
l.append(subl)
print l