Изменен порядок для parse_expr () - PullRequest
0 голосов
/ 02 ноября 2019

Я использую parse_expr ("- 5 + 2 * x + 3 - 7 * x + 5 - 3 * x", оценивать = False). Согласно документации для define = False, я ожидал сохранить порядок выражения:

"Когда False, порядок аргументов останется таким же, каким они были в строке ..."

Но результат сортируется: -7 * x - 3 * x + 2 * x - 5 + 3 + 5

sympy = 1.4

1 Ответ

0 голосов
/ 02 ноября 2019

Это как рекламируется:

>>> 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(dict(order='none'))
>>> s._print_Add(u)
-5 + 2*x + 3 - 7*x + 5 - 3*x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...