在矩阵中打印嵌套字典-python

在矩阵中打印嵌套字典-python,python,nested,format,Python,Nested,Format,正在寻找将嵌套字典打印为矩阵的方法: 输入 到目前为止,我有: for h, innerD in nestedD.items(): print (h) for r in innerD: print("{: >10} {: >10} {: >10}".format(*innerD[r])) TypeError:*后面的format()参数必须是

正在寻找将嵌套字典打印为矩阵的方法:

输入

到目前为止,我有:

for h, innerD in nestedD.items():
            print (h)
            for r in innerD:
                print("{: >10} {: >10} {: >10}".format(*innerD[r]))
                
TypeError:*后面的format()参数必须是iterable,而不是float

如何使用format()遍历内部字典的浮动?

对于h,nestedD.items()中的innerD:
打印(h)
打印(“{:>10}{:>10}{:>10}”。格式(*innerD.values())
因此,出现错误的原因是
innerD[r]
解析为地址
nestedD[h][r]
处的数字。星号将您可以迭代的内容(如列表)作为参数列表传递给函数。 因为您有3个格式参数,所以应该用3个参数传递格式。在上面更新的代码中,这三个参数来自内部字典的值

再读一遍你的问题,似乎仍然不是你想要的。似乎你想先在字典上做一种轮换。上述答案将错误地排列值

print(“| |{}{}{}{}{}|”。格式(*nestedD.keys())
headers=nestedD.keys()
#这里有一个假设,所有内部字典都有相同的键
rows=nestedD.values[0].keys()
rotatedD=dict([(行,dict([(表头,嵌套的[header][row])表示表头中的表头])表示行中的行])
对于键,旋转中的值为:
str_values=“|”。.join([“{:>10}.”格式(v)表示值中的v])
打印(“|{key}|{values}|”

非常感谢,您的回答的两部分都有助于我的理解!我是一个菜鸟,不能把我的头围绕着它。我试图实现您建议的代码,但第5行出现语法错误。请您详细说明第5行中出现的
rotatedD
?对不起,我已经修复了语法错误。可以将字典构建为表示键和值的元组列表。我所做的(可能过于匆忙)是使用嵌套字典,它是由标题和行组成的键。我经常使用以下语法帮助自己理解:
[header][row]=value
该行的作用是将其转换为以下形式:
[row][header]=value
Output
|    |    h1    |    h2    |    h3   |
| -- | -------- | -------- | ------- |
| r1 | float1   | float4   | float7  |
| r2 | float2   | float5   | float8  |
| r3 | float3   | float6   | float9  |
for h, innerD in nestedD.items():
            print (h)
            for r in innerD:
                print("{: >10} {: >10} {: >10}".format(*innerD[r]))