【发布时间】:2017-04-20 15:19:49
【问题描述】:
我有一个字典dictionary1,其中包含以下变量:x1, x2, x3, y1, y2 ..,它们每个都与一个主要包含数据列表的数据结构相关联。 dict 的每个变量都有一个相同大小的整数列表。
我有一个方程式列表:
equationsList = ["x1+2*2", "(x2*3)+4","x3+6*y1", "(x4*3)+y2"] #etc ...
我的想法是用它们的关联值替换字典中识别的字符串,以便将公式应用于列表的每个元素:
for equation in equationList:
for item in equation.split():
if item in dictionary1:
for ValueElement in dictionary1[item].ValueList:
equation = re.sub(item, str(ValueElement), equation)
ValueElement = eval(equation)
当字典中只有一个变量(x 或 y)时,我的代码可以完美运行,但是当涉及具有 2 个以上变量的方程时,只有第一个被替换。
【问题讨论】:
-
你试过用谷歌搜索这个吗?到目前为止,我至少找到了 3 个相关的 SO 帖子。
标签: python math eval mathematical-expressions