1

我必须从这样的字符串文件创建一个矩阵(或数组):

>>>print Qval
[1*10**4,0,0,0],[0,1,0,0],[0,0,1*10**3,0], [0,0,0,1]
>>>print type(Qval)
<type 'str'>

我必须以这种方式获取矩阵,因为在我的 Tkinter GUI 中我必须输入这样的值(界面的一部分:字段标签 = 默认值):

Q-矩阵= [1*10**4,0,0,0],[0,1,0,0],[0,0,1*10**3,0],[0,0,0 ,1]

我从我的界面中获取 Qval 字符串,如下所示:

Qval=vars[13].get()

有没有合适的方法来做到这一点?

谢谢。

4

2 回答 2

6
>>> ast.literal_eval('[1e4, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1e3, 0], [0, 0, 0, 1]')
([10000.0, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1000.0, 0], [0, 0, 0, 1])
于 2013-06-01T12:48:17.897 回答
0

您可以像这样使用内置函数 eval :

a ="[1*10**4,0,0,0],[0,1,0,0],[0,0,1*10**3,0], [0,0,0,1]"
mat = eval(a)
于 2013-06-01T13:21:50.613 回答