使用sympy分解出特定数字

时间:2018-12-19 08:35:04

标签: python sympy

我的表达式如下:

from sympy import *
x = symbols('x')
ex = 2+2*x

我想从表达式中排除-2。我尝试使用.factor()方法进行分解,这就是我得到的:

ex.factor()
>>> 2*(x + 1)

如何在sympy中明确设置我要使用的因子?感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

在这里,您可以通过任意数字分解表达式。它可以是python int或Sympy编号。假设我们想将2 + 2 * x乘以3/7:

$a1 = [1,2,3,4,5];
$a2 = [1,3,5];
$result = [];

foreach($a1 as $item) {
    if (in_array($item, $a2)) {
        $result[] = 'match' . $item;   
    } else {
        $result[] = $item;
    }
}

这应该可以解决问题

答案 1 :(得分:0)

我不知道这样做的方法。如果要通过将两个arg都乘以-1来重写表达式,请尝试a,b=factor(eq).args; Mul(-a, -b, evaluate=False)