How to find all terms in an expression in Sympy

后端 未结 3 1017
旧巷少年郎
旧巷少年郎 2021-02-14 12:16

I have an expression as: 1/(x+1)+4*x/(x-1)+3-4*x**2+10*x**2

What I need is a list that contain the terms in this expression.
i.e. [1/(x+1), 4*x/(x

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-02-14 12:45

    The right way to do this is Add.make_args. This is the same things as expr.args from Bjoern's answer, except if the expression is not an Add (a single term), it still gives that term, instead of traversing into that expression.

    In [20]: expr = 1/(x+1)+4*x/(x-1)+3-4*x**2
    
    In [21]: print(Add.make_args(expr))
    (3, 1/(x + 1), -4*x**2, 4*x/(x - 1))
    

提交回复
热议问题