Python - 从字符串创建矩阵

bak*_*lan 1 python string interface tkinter matrix

我必须从字符串文件创建一个矩阵(或数组),如下所示:

>>>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'>
Run Code Online (Sandbox Code Playgroud)

我必须以这种方式获取矩阵,因为在我的Tkinter GUI中我必须输入这样的值(接口的一部分:field label = default value):

Q-Matrix = [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()
Run Code Online (Sandbox Code Playgroud)

有没有正确的方法来做到这一点?

谢谢.

Ign*_*ams 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])
Run Code Online (Sandbox Code Playgroud)