如何将列表 return 值解析为可以替换值的 sympy 表达式?
How to parse list return value into sympy expression which you can substitute values in?
嘿,我是 sympy 的新手,我在使用 solve() 的 return 值时遇到问题,因为它总是返回一个列表
而不是同情的表达。我想将值代入
我使用 sol.subs() 的解决方案仅适用于 sympy 表达式。谁能告诉我怎么做?
eq1 = sp.Eq(sp.sqrt(2 * m * E) / h_bar, n * pi)
E_n = sp.solve(eq1, E)
type(E_n) 现在是一个列表。我想继续使用
作为一个表达。例如:
E_1 = E_n.subs(n, 1)
E_2 = E_n.subs(n, 2)
谢谢。
您可以使用 [0]
从列表中获取元素,即:
In [19]: import sympy as sp
In [20]: m, E, h_bar, n = sp.symbols('m, E, h_bar, n', positive=True)
In [21]: eq1 = sp.Eq(sp.sqrt(2 * m * E) / h_bar, n * pi)
In [22]: E_n = solve(eq1, E)[0]
In [23]: E_n
Out[23]:
2 2 2
π ⋅h_bar ⋅n
────────────
2⋅m
In [24]: E_n.subs(n, 1)
Out[24]:
2 2
π ⋅h_bar
─────────
2⋅m
嘿,我是 sympy 的新手,我在使用 solve() 的 return 值时遇到问题,因为它总是返回一个列表 而不是同情的表达。我想将值代入 我使用 sol.subs() 的解决方案仅适用于 sympy 表达式。谁能告诉我怎么做?
eq1 = sp.Eq(sp.sqrt(2 * m * E) / h_bar, n * pi) E_n = sp.solve(eq1, E)
type(E_n) 现在是一个列表。我想继续使用 作为一个表达。例如:
E_1 = E_n.subs(n, 1) E_2 = E_n.subs(n, 2)
谢谢。
您可以使用 [0]
从列表中获取元素,即:
In [19]: import sympy as sp
In [20]: m, E, h_bar, n = sp.symbols('m, E, h_bar, n', positive=True)
In [21]: eq1 = sp.Eq(sp.sqrt(2 * m * E) / h_bar, n * pi)
In [22]: E_n = solve(eq1, E)[0]
In [23]: E_n
Out[23]:
2 2 2
π ⋅h_bar ⋅n
────────────
2⋅m
In [24]: E_n.subs(n, 1)
Out[24]:
2 2
π ⋅h_bar
─────────
2⋅m