解析列表并创建表达式

时间:2018-02-07 21:45:50

标签: python sympy

我有一个字符串列表:

A = ['a','b']

我想解析这个列表并编写以下表达式:

a = x**2
b = a*x

其中xsympy符号,稍后我会将这些表达式用于其他操作,例如区分等。问题是ab是列表中的字符串。我无法将它们用作表达式!我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

一般来说,你不是。尝试设置动态变量名称通常是设计不佳的标志。如果您需要这些符号来向外界表示事物,请尝试保留标签和值。例如,字典可以为你做这样的事情。

symbol = { 'a': x**2; 'b': x**3 }

您可以从那里添加符号,更改值等。例如,

symbol = { 'a': x**2 }
symbol['b'] = symbol['a'] * x

当然,您可以构建一个表达式字符串并对内容使用eval,但这通常很危险并且难以维护。

更广泛的可能性是操纵字符串值并编写您想要运行的Python脚本。将其写入文件,然后使用ossubprocess命令执行它。

这会让你感动吗?