嘿,我刚开始使用sympy,我在处理solve((的返回值时遇到了问题,因为它总是返回一个列表而不是症状表达。我想将值替换为我的解决方案使用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