List sagemath:将列表中字典中的分数转换为matplotlib的小数

List sagemath:将列表中字典中的分数转换为matplotlib的小数,list,dictionary,python-2.7,sage,List,Dictionary,Python 2.7,Sage,我试图在sage数学中自动处理一些效率图,我得到了这个公式Matplotlib.pyplot需要一个值列表。我可以从如下所述的列表中获取词典,也可以从以下形式的列表中获取词典: eng3 = [solve(eng==(k-1)*md*Vm^2/(2*Patm*Vc*(Pc-Pc^(1/k))),Vc,solution_dict=1) for Pc in xrange(2,10)] 我想获取这些分数,将它们转换为数值近似值,并用sagemath[python]创建一个包含这些值的列表。n()函

我试图在sage数学中自动处理一些效率图,我得到了这个公式
Matplotlib.pyplot
需要一个值列表。我可以从如下所述的列表中获取词典,也可以从以下形式的列表中获取词典:

eng3 = [solve(eng==(k-1)*md*Vm^2/(2*Patm*Vc*(Pc-Pc^(1/k))),Vc,solution_dict=1) for Pc in  xrange(2,10)]

我想获取这些分数,将它们转换为数值近似值,并用sagemath[python]创建一个包含这些值的列表。
n()
函数将分数转换为小数,但我不确定如何分离将其提供给
n()

的值。该列表来自
solve
,但问题实际上是纯Python的。要获取其中的每一项,如果该列表被称为
Vlist
,则可以执行以下操作

List:
[[Vc == (5231100000/35166511904977)], [Vc == (111907000000/1692075843832947)], [Vc == (364112000000/8911538005781703)], [Vc == (753818000000/25992803547821049)], [Vc == (138358000000/6222694018119437)], [Vc == (659020000/36808310575981)], [Vc == (25902500000/1736640592770261)], [Vc == (59144000000/4642920082445667)]]

Dictionary:    
[[{Vc: 1743700000/105499535714931}], [{Vc: 319775000/43516062236099}], [{Vc:  34670000000/7636845816518169}], [{Vc: 41083500000/12749600170083701}], [{Vc: 1703720000/689628024927753}], [{Vc: 25247000000/12691109152994019}], [{Vc: 44767000000/27012747987604137}], [{Vc: 5993300000/4234372317920577}]]
对于字典来说,这本书有点麻烦

[v[0].rhs().n() for v in Vlist]
这种结构被称为“列表理解”。这些假设是,每个问题都有一个解决方案!如果格式不同(例如,如果您得到类似于
Vc==2*Vc^2
)的内容,那么您必须更加聪明


背景-显然是相关的。

我在sagemath上发布了另一个。不好意思说我忘记了=和==之间的区别。我对python有点陌生,但对数学不熟悉。这些公式与气动空气炮的最佳效率值有关。在我目前的安排中,它总是给出分数。这是我一直在做的一个辅助工程项目。再次感谢
[v[0].values()[0].n() for v in Vlist]