【发布时间】:2018-01-03 07:44:14
【问题描述】:
我有一个dict,看起来像
A = {
'test1':{'q0':[0.123,0.234],'phi0':[0.124,0.4325],'m':[9.42,0.3413]},
'test2':{'q0':[0.343,0.353],'phi0':[0.2341,0.235]},
'test3':{'q0':[0.343,0.353],'phi0':[0.2341,0.235],'m':[0.325,0.325],'z0':[0.234,0.314]}
}
我想打印每个单独的字典:
'test1': q0=0.123(0.234) phi0=0.123(0.4325) m=9.42(0.3413)
'test2': q0=0.343(0.353) phi0=0.2341(0.235)
'test3': z0=0.234(0.314) q0=0.343(0.353) phi0=0.2341(0.235) m=0.325(0.325)
如何在 Python 3 中使用string.format() 做到这一点?由于每个子词典都有可变数量的“参数”,我不确定如何使用一些列表/词典理解来完成它。另外,如果我想在该参数丢失时留下一些空间,如所示,我该怎么做?每个字典最多有五个不同的参数 (q0,phi0,m,c,z0)。我将它打印到终端,所以我不需要很花哨的东西,但我希望它可以更具可读性。
【问题讨论】:
-
您可以考虑编写一个函数,该函数将字典的键、值作为输入,并以所需格式返回输出并打印出来。
-
您想要的部分是将子字典键按以下顺序排序:['z0','q0','phi0','m'] 通过自定义排序顺序或反向字母数字.您是否可以单独编写该代码,还是要将其粘贴在格式化代码中?
标签: python string python-3.x dictionary format