繁体   English   中英

Sympy:替换表达式中的“-1”?

[英]Sympy: replacing "-1" in expressions?

我目前正在使用 Sympy 1.0 和 Python 2.7,我的目标是用符号替换表达式中的每个数字参数。

例如:

2 * x + 3 * y - 10 * z -> a * x + b * y - c * z

到目前为止,我使用expression.atoms(Number)来获取数值参数列表,稍后使用.subs或通过将所有内容写入字符串并使用.replace来替换它们。 但是,我面临着以下表达式的问题:

expression = sympy.simpify("x - z")

如果我将表达式分析为树,那么-z实际上是-1 * z ......但是-1没有出现在expression.atoms(Number)的结果中,所以我无法替换它。

即使将表达式转换为字符串然后使用.replace也无济于事,因为-1 * z总是写成-z

可能有一些我忽略的解决方案,但到目前为止我被卡住了。 你能帮助我吗? 提前感谢您的时间。

事实上,当我第一次尝试使用.subs时,我可能犯了一个愚蠢的错误; 正如帕特里克在评论中指出的那样, .subs在这种情况下工作得很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM