从SymPy表达式中提取数字

比尔·凯特

如何从SymPy表达式中提取所有数值?例如,对于这个表达式:sin(a/pi + a) + 0.629116159212,我想pi-10.629116159212

srepr在SymPy中找到了该函数,函数返回示例:

Add(sin(Add(Mul(Pow(pi, Integer(-1)), Symbol('a')), Symbol('a'))), Float('0.62911615921200004', precision=53))

我如何从中提取所有数字,即不是a的所有数字Symbol

z
  • 该方法atoms返回表达式的所有原子(即,不可拆分)组件的集合。

  • 该属性is_number告诉您某个表达式(或原子)是否为数字。

合并:

from sympy import sin, pi
from sympy.abc import a

expr = sin(a/pi + a) + 0.629116159212
numbers = {atom for atom in expr.atoms() if atom.is_number}

现在,如果您需要保留外观的数量,由于atoms返回的是集合,因此事情会变得有些复杂在这里,我们还可以使用:

  • 备选方案1 :(sympy.preorder_traversalpostorder_traversal)迭代表达式的所有子表达式。(感谢Oscar BenjaminAS Meurer。)

  • Alternative2:find表达式的方法,它返回与某个条件匹配的所有表达式。

  • 属性is_Atom

from sympy import sin, pi, preorder_traversal
from sympy.abc import a

expr = sin(a/pi + 1/a) + 0.629116159212

is_atomic_number = lambda expr: expr.is_Atom and expr.is_number

# Alternative 1:
[
    subexpression
    for subexpression in preorder_traversal(expr)
    if is_atomic_number(subexpression)
]

# Alternative 2:
expr.find(is_atomic_number,group=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式-从网址中提取数字

来自分类Dev

使用正则表达式从地址中提取数字

来自分类Dev

正则表达式:从x到y的数字中提取最大的数字

来自分类Dev

从表达式中提取变量

来自分类Dev

正则表达式可以从字符串中提取多个数字吗?

来自分类Dev

使用正则表达式从Google BigQuery中的字符串中提取数字

来自分类Dev

Python:使用正则表达式从字符串中提取数字

来自分类Dev

如何使用正则表达式从Javascript中的字符串中提取数字

来自分类Dev

如何编写正则表达式从这些URL中提取数字?

来自分类Dev

通过在正则表达式上分割从Java中的字符串中提取数字

来自分类Dev

使用正则表达式从HTML属性中提取数字

来自分类Dev

正则表达式从字符串(gwmi Win32_OperatingSystem)中提取数字

来自分类Dev

通过正则表达式从列表中的字符串中提取数字

来自分类Dev

如何使用正则表达式从网址中提取单词后的数字

来自分类Dev

Python使用正则表达式从文本中提取数字

来自分类Dev

正则表达式解析字符串以在Shell脚本中提取数字

来自分类Dev

使用正则表达式和vb.net从字符串中提取数字

来自分类Dev

python正则表达式,从字符串中提取数字集

来自分类Dev

Java的正则表达式从字符串中提取数字和字符串

来自分类Dev

在R中使用正则表达式从网页中提取文本和数字

来自分类Dev

使用正则表达式从字符串中提取数字

来自分类Dev

正则表达式从字符串中提取数字和日期

来自分类Dev

PHP从字符串中提取数字-正则表达式

来自分类Dev

如何使用正则表达式从字符串中提取数字?

来自分类Dev

如何使用正则表达式从短语中提取数字组?

来自分类Dev

如何使用正则表达式从Javascript中的字符串中提取数字

来自分类Dev

emacs:正则表达式匹配以从字符串中提取数字

来自分类Dev

从字符串中提取数字的正则表达式

来自分类Dev

使用正则表达式和vb.net从字符串中提取数字

Related 相关文章

  1. 1

    正则表达式-从网址中提取数字

  2. 2

    使用正则表达式从地址中提取数字

  3. 3

    正则表达式:从x到y的数字中提取最大的数字

  4. 4

    从表达式中提取变量

  5. 5

    正则表达式可以从字符串中提取多个数字吗?

  6. 6

    使用正则表达式从Google BigQuery中的字符串中提取数字

  7. 7

    Python:使用正则表达式从字符串中提取数字

  8. 8

    如何使用正则表达式从Javascript中的字符串中提取数字

  9. 9

    如何编写正则表达式从这些URL中提取数字?

  10. 10

    通过在正则表达式上分割从Java中的字符串中提取数字

  11. 11

    使用正则表达式从HTML属性中提取数字

  12. 12

    正则表达式从字符串(gwmi Win32_OperatingSystem)中提取数字

  13. 13

    通过正则表达式从列表中的字符串中提取数字

  14. 14

    如何使用正则表达式从网址中提取单词后的数字

  15. 15

    Python使用正则表达式从文本中提取数字

  16. 16

    正则表达式解析字符串以在Shell脚本中提取数字

  17. 17

    使用正则表达式和vb.net从字符串中提取数字

  18. 18

    python正则表达式,从字符串中提取数字集

  19. 19

    Java的正则表达式从字符串中提取数字和字符串

  20. 20

    在R中使用正则表达式从网页中提取文本和数字

  21. 21

    使用正则表达式从字符串中提取数字

  22. 22

    正则表达式从字符串中提取数字和日期

  23. 23

    PHP从字符串中提取数字-正则表达式

  24. 24

    如何使用正则表达式从字符串中提取数字?

  25. 25

    如何使用正则表达式从短语中提取数字组?

  26. 26

    如何使用正则表达式从Javascript中的字符串中提取数字

  27. 27

    emacs:正则表达式匹配以从字符串中提取数字

  28. 28

    从字符串中提取数字的正则表达式

  29. 29

    使用正则表达式和vb.net从字符串中提取数字

热门标签

归档