擅长:python、mysql、java
<p>您可以按常用符号对术语进行分组,并对它们使用<code>horner</code>:</p>
<pre><code>>>> d=defaultdict(list)
>>> for t in Add.make_args(eq):
... d[tuple(ordered(t.free_symbols))].append(t)
...
>>> Add(*[horner(Add(*i)) for i in d.values()])
x**2*y*(y + 1) + x**2 + 1
</code></pre>