同一个方程,求解不同的未知数,结果从列表变成了dict

有等式:b - b_ring /b - a = 0

from sympy import *
a_1 = [10,20,30]
b_ring = 4
b_11=[]

for i in a_1:
    b= symbols('b')
    b_1 = solve([b - b_ring/b-i],[b])
    b_11.append(b_1)
print(b_11)

得到列表

img


from sympy import *
b_1 = [10,20,30]
b_ring = 6
a_11 =[]

for i in b_1:
    a = symbols('a')
    a_1 = solve([i - b_ring/i-a],[a])
    a_11.append(a_1)
print(a_11)

得到字典:

img

一样的公式,但是把求解的对象变了一下,怎么结果从列表变成了dict?

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:

在第一个例子中,每个未知数 b 对应一个解,因此 b_11 列表中每个元素都是一维的,即一个解的列表。

在第二个例子中,每个未知数 a 对应多个解,因此 a_11 列表中每个元素都是一个字典,其中每个键值对表示一个解。

这是因为在第一个例子中,我们在解方程时只考虑了 b 的单值解,而在第二个例子中,我们在解方程时考虑了 a 的全部解,因此得到了多个解的情况,需要用字典来表示。

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

两个结果都是列表呀,后面那个也不是dict呀,dict的语法格式是{'key':'value1', 'key2':'value2', ..., 'keyn':valuen}这样的,应该理解成列表里面存了一个个的对象

因为你公式变了,上面是b - b_ring/b-i,下面是i - b_ring/i-a
上面求出来是2个复数的根
而下面求出来是实根