如何获取 sympy 表达式中的符号列表?

例如,如果我运行

import sympy
x, y, z = sympy.symbols('x:z')
f = sympy.exp(x + y) - sympy.sqrt(z)
是否有任何方法f可以用来获取sympy.Symbol表达式包含的对象列表或元组?我宁愿不必srepr(f)通过f.args.

在这种情况下,g.args[0].args[1].args[0]给出了我Symbol("z"),而g.args[1].args[0].args给了我元组(Symbol("x"), Symbol("y")),但显然这些是特定于表达式的。

已邀请:
您可以使用:

f.free_symbols
这将返回一组所有免费符号。

例子:

>>> import sympy
>>> x, y, z = sympy.symbols('x:z')
>>> f = sympy.exp(x + y) - sympy.sqrt(z)
>>> f.free_symbols
set([x, z, y])

要回复问题请先登录注册