说我输入了"1+2x+3x^2"
或"1-2x+3x^2"
我如何创建一个拆分并列出每个术语的列表,例如[1, 2x, 3x^2]
或[1, -2x, 3x^2]
。我已经为此感到困惑了一段时间,目前我正在使用的函数im仅在“ +”处分开,因此要获得类似[1, -2x, 3x^2]
的列表,我必须输入"1+-2x+3x^2"
注意:我将不使用复杂的多项式,而是使用简单的,不包含括号或分数的多项式。
import re
s = '1+2x^2-3x^-3'
s = re.sub('\^-', 'neg', s) # trick to deal the negative powers
print(s)
s=s.replace('-','+-')
s=s.replace('neg','-')
sub = s.split('+')
print(sub)
这将正确拆分负功率变量。