sympy - 如何从 sympy 符号中检索整数索引
问题描述
我有一个列表 L 使用以下函数定义的 sympy 符号:def x(i): return sy.symbols(f'x({i})')
L=[x(10),x(33),....]
. 是否可以从 sympy 符号中获取数字 10,33,...?
解决方案
您可以使用任何您喜欢的 python 方法从符号名称中解析数字,例如
>>> x = Symbol('x(10)')
>>> int(x.name.split("(")[1].split(")")[0])
10
当然,解析的方法将取决于您如何隐藏符号名称中的数字。简单地使用索引符号可能更容易:
>>> from sympy import IndexedBase
>>> x = IndexedBase('x')
>>> x[1] + x[1]
2*x[1]
>>> x[1].indices
(1,)
推荐阅读
- python - 使用 NOOP 命令检查 FTP 连接是否有效
- php - Laravel:模型ID在更新前变为真
- ruby-on-rails - 在 Rails 5.2 系统测试中如何填写或绕过 HTTP Basic Auth?
- c# - 在启用 useLightweightEdges 创建边缘时,OrientDB 挂起
- hybris - 如何为特定的灵活搜索查询创建新的缓存区域?
- vba - vba word 宏将字符串放入现有标题
- c# - Windows api 的 ReadFile 没有读取从 USB 设备发送的所有数据
- c - 声明/初始化结构时,每个花括号代表什么?(警告:初始化器 [-Wmissing-braces] 周围缺少大括号)
- c# - 如何删除类别和子类别?
- javascript - 是否可以从 JavaScript 更新 python 中的变量?