我有一些方程的字符串,其中包括变量。例如:
eq='(a+1)*c-d'
我也有带有变量值的字典。例如:
val={'a':5,'c':'k','d':'300n'}
如您所见,在相同情况下,变量的值可以是其他变量,并且在某些情况下,并非所有来自 eq 的变量都在 val 中。
我需要用 val 中的值替换 eq 中的所有变量。当然,直接的代码将类似于:
for v in val.keys():
eq=re.sub(v,val[v],eq)
但此代码在某些情况下会失败。例如,在变量列表中将是变量“n”和“nn”
那么,有人可以考虑更好的解决方案吗?谢谢你。