Sympy 函数反转

Sympy function reverse

我是 sympy 的新手,我正在尝试弄清楚如何反转函数。

我有一个函数 g(x, y),其中 xy 的类型是 sympy symbol。我想像下面这样反转:

   .--.
   |  v
 g(x, y) -> g(y, x)
   ^  |
   `--'              

有什么办法吗?

例如:

symbol = Function(l_expr)(*tuple(r_expr.free_symbols))

对于这种情况,symbol 将变为 g(x, y)。这里x是默认参数,y是非默认参数。

要求是如果x在前,然后y然后反转符号。

if symbol.args[0] != r_expr.args[0]:
    # do something which will reverse the symbols

如果你有这个功能并且想反转参数:

>>> g(x,y)
g(x, y)
>>> _.func(*_.args[::-1])
g(y, x)

如果您需要在表达式中寻找函数,那么我的 link 对另一个答案(指导您使用 replace)将会有所帮助。