在像
这样的表达式中import sympy
a = sympy.Symbol('a')
b = sympy.Symbol('b')
x = a + 2*b
我想交换a
和b
来检索b + 2*a
。我试过了
y = x.subs([(a, b), (b, a)])
y = x.subs({a: b, b: a})
但不起作用;结果为3*a
,在b
这两种情况下,dbWriteTable(con, 'topics',as.data.frame(topics), row.names = NA, overwrite = FALSE, append = TRUE, field.types = NULL)
由于某种原因首先被替换。
任何提示?
答案 0 :(得分:4)
有一个simultaneous
参数可以传递给替换,这将确保所有替换同时发生并且不会像现在那样相互干扰。
y = x.subs({a:b, b:a}, simultaneous=True)
输出:
2*a + b
如果关键字
simultaneous
为True
,则在完成所有替换之前,不会评估子表达式。