parse_expr()的更改顺序

问题描述 投票:0回答:1

我使用parse_expr(“-5 + 2 * x + 3-7 * x + 5-3 * x”,评估为False)。根据评估为False的文档,我希望保留表达式的顺序:

“当为False时,参数的顺序将保留在字符串中...”

但是结果已排序:-7 * x-3 * x + 2 * x-5 + 3 + 5

sympy = 1.4

sympy
1个回答
0
投票

如广告所示:

>>> u = parse_expr("-5 + 2*x + 3 - 7*x + 5 - 3*x", evaluate=False); u.args
(-5, 2*x, 3, -7*x, 5, -3*x)

但是,打印机按排序顺序打印它们。似乎应该有一种更简单的方法来执行以下操作,但是它可以正常工作:

>>> s=StrPrinter()
>>> s._default_settings['order'] = 'none'
>>> s._print_Add(u)
-5 + 2*x + 3 - 7*x + 5 - 3*x
© www.soinside.com 2019 - 2024. All rights reserved.