例如,如果我跑
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"))
,但显然这些是表达式特定的。
3条答案
按热度按时间fdbelqdn1#
您可以用途:
字符串
这将返回一组所有自由符号。
范例:
型
ajsxfq5m2#
一个非常有用的属性是
atoms
字符串
除了符号,
atoms
还可以提取其他原子,例如:型
(it值得检查输出)。关于answer by gerrit
型
1cosmwyk3#
注意JuniorCompressors answer只列出了自由变量。
如果你有一个
Sum
,Product
,Integral
或类似的东西,你可能会也可能不想使用.variables
属性额外知道积分/求和变量:字符串