Per esempio, se corroCome posso ottenere un elenco dei simboli in un'espressione sympy?
import sympy
x, y, z = sympy.symbols('x:z')
f = sympy.exp(x + y) - sympy.sqrt(z)
Esiste un metodo di f
che posso usare per ottenere una lista o tupla di sympy.Symbol
oggetti che l'espressione contiene? Preferirei non dover analizzare srepr(f)
o analizzare verso il basso tramite f.args
.
In questo caso, g.args[0].args[1].args[0]
mi dà Symbol("z")
, mentre g.args[1].args[0].args
mi dà la tupla (Symbol("x"), Symbol("y"))
, ma ovviamente questi sono specifici per l'espressione.
Si noti che questo solo restituisce ** simboli ** gratuiti. Ad esempio, per 'Sum (T, (n, 1, N))/N' restituisce' {N, T} ', ma non' n'. – gerrit