python - 如何在 Sympy 中查找表达式中的所有术语

标签 python sympy

我有一个表达式:1/(x+1)+4*x/(x-1)+3-4*x**2+10*x**2

我需要的是包含此表达式中的术语的列表。
[1/(x+1), 4*x/(x-1), 3, -4*x**2, 10*x**2]

更新:它不应该收集相似的术语。因此,在收集类似的术语后,列表应该分别有 -4*x** 2 和 10*x** 2 而不是 6*x**2 。

最佳答案

正确的做法是Add.make_args。这与 Bjoern 的回答中的 expr.args 相同,除非表达式不是 Add (单个术语),它仍然给出该术语,而不是遍历进入那个表情。

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))

关于python - 如何在 Sympy 中查找表达式中的所有术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37566132/

相关文章:

python - PyQt:以编程方式创建 QT 小部件

python - 将 lambda 放入 NumPy `np.fromfunction()` 会导致 TypeError

python - subprocess.check_output 返回码

python - SymPy 中矩阵的逆矩阵?

sympy - 积分 SymPy 数组

python - 使用solve 来表达变量时出现 Sympy TypeError

python - 为节点分配多个属性

python - Sympy 失败,wxMaxima 没有

python-2.x - sympy:替换结果不正确

Python - 从 csv 文件创建数据帧并将这些数据帧合并在一起