如何在系统控制台上以可读格式打印字典值



创建了两个字典:node0和delack_ node1。对于NODE0和NODE1

它们的价值是:

defaultdict(None, {'FC': 0.0, 'NL': 0.0, 'SSD': 11805529.0})
defaultdict(None, {'FC': 0.0, 'NL': 0.0, 'SSD': 13052326.0})

我希望字典值以以下格式打印,值显示在FC NL SSD 下方

___Average DelAcks for 5  Iterations___
Node    FC          NL          SSD
0
1  

我使用打印来尝试实现上述格式:

print("___Average DelAcks for", no_of_iterations," Iterations___" )
print("tNodettttFCtttNLtttSSD")

您可以使用类似panda的数据分析库来完成此操作。有多种选项可以漂亮地打印数据帧。你可能会发现这个问题的答案对很有帮助

这其实很容易。你只需要用字典列一个清单:

from collections import defaultdict
defaultdicts = [
defaultdict(None, {'FC': 0.0, 'NL': 0.0, 'SSD': 13052326.0}),
defaultdict(None, {'FC': 0.0, 'NL': 0.0, 'SSD': 11805529.0}),
]
print("___Average DelAcks for {} Iterations___".format(len(defaultdicts)))
print("{:^10}{:^10}{:^10}{:^10}".format('Node', 'FC', 'NL', 'SSD'))
column = "{:^10}{FC:^10}{NL:^10}{SSD:^10}"
for index, value in enumerate(defaultdicts):
print(column.format(index, **value))

如果你经常这样做,我建议你像@asaf所说的那样使用熊猫。如果这是一个愚蠢的脚本,安装panda是没有必要的。

此外,StackOverflow上的这个线程可能会对您有所帮助。

PS:str.format方法非常强大。你应该看看python文档。

最新更新