我有一个字符串列表:
A = ['a','b']
我想解析这个列表并编写以下表达式:
a = x**2
b = a*x
其中x
是sympy
符号,稍后我会将这些表达式用于其他操作,例如区分等。问题是a
和b
是列表中的字符串。我无法将它们用作表达式!我怎么能这样做?
答案 0 :(得分:1)
一般来说,你不是。尝试设置动态变量名称通常是设计不佳的标志。如果您做需要这些符号来向外界表示事物,请尝试保留标签和值。例如,字典可以为你做这样的事情。
symbol = { 'a': x**2; 'b': x**3 }
您可以从那里添加符号,更改值等。例如,
symbol = { 'a': x**2 }
symbol['b'] = symbol['a'] * x
当然,您可以构建一个表达式字符串并对内容使用eval
,但这通常很危险并且难以维护。
更广泛的可能性是操纵字符串值并编写您想要运行的Python脚本。将其写入文件,然后使用os
或subprocess
命令执行它。
这会让你感动吗?