【发布时间】:2015-08-07 12:38:10
【问题描述】:
- 我有一个字符串
a="1 2 3; 4 5 6"。我如何在 Python 中将其表示为矩阵[1 2 3; 4 5 6]? - 然后我想使用另一个这样的字符串
b,转换为矩阵并找到a x b。
【问题讨论】:
-
您应该先尝试自己编写代码,然后向我们展示您提出的一些想法。
a="1 2 3; 4 5 6"。我如何在 Python 中将其表示为矩阵[1 2 3; 4 5 6]? b,转换为矩阵并找到a x b。 【问题讨论】:
您可以使用 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 库,它是一个非常强大的模块,可以完成您所指的所有类型的工作。
【讨论】:
这是一种方法,在;处拆分字符串,然后遍历每个字符串,在' '处拆分,然后遍历它,将其转换为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
【讨论】: