繁体   English   中英

sympy:从字符串检查并解析表达式

[英]sympy : check and parse expression from string

我对sympy不太熟悉,我尝试给出一个字符串:

  • 检查该字符串(一旦转换为sympy表达式)是否匹配特定的“模式”,在我的情况下为“ A ** a * B ** b * C ** c”。
  • 如果是这样,则解析该字符串以获取该模式的相应符号。 例如:“ foo ** 2 * bar ** 1 * toto ** 38”将被解析为{“ foo”:2,“ bar”:1,“ toto”:38}。

我以为我可以使用解决方法来获得所有功能,但这似乎效果很差。

干杯

似乎正是您需要的:

from sympy.parsing.sympy_parser import parse_expr

string = "foo**2*bar**1*toto**38"
parsed = parse_expr(string)
print(parsed.as_powers_dict())  
# output: defaultdict(<class 'int'>, {bar: 1, foo: 2, toto: 38})

暂无
暂无

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

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