我必须从字符串文件中创建一个矩阵(或数组),如下所示:
>>>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中我必须输入这样的值(接口的一部分: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()
有没有正确的方法呢?
感谢。
答案 0 :(得分: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])
答案 1 :(得分: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)