用换行符格式化python字典

2024-10-03 17:17:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这本字典

results = {'name': sectionAddr.name,
               'count': sampleCount,
               'finish_count': len(finished),
               'inside4_count': inside4Count,
               'inside10_count': inside10Count,
               'finish_rate': 100 * len(finished) / sampleCount,
               'inside4_rate': 100 * inside4Count / sampleCount,
               'inside10_rate': 100 * inside10Count / sampleCount,
               'mean_error': meanError,
               'stddev_error': stddevError,
               'samples': sampleResults}
    results['error'] = getError(results

但是我需要显示它;如果我通过str格式来显示它,它看起来像一个字符串,也就是一条线。我应该如何在每个变量后换行?在

像这样:

^{pr2}$

不起作用

我怎么能打破界限?在


Tags: namelen字典ratecounterrorresultsfinished
3条回答

您可以使用pprint.pformat获得格式良好的字符串:

import pprint

results = {'name': "sectionAddr.name",
               'count': "sampleCount",
               'finish_count': "len(finished)",
               'inside4_count': "inside4Count",
               'inside10_count': "inside10Count",
               'samples': "sampleResults"}

s = pprint.pformat(results)

print(s)

输出:

^{pr2}$

或者,如果您不需要它作为字符串,但希望直接打印到控制台,您可以使用pprint.pprint

pprint.pprint(results)

请注意,字典没有固定的顺序,因此格式化字符串中的键可能是不同的顺序。在

pformat和{}都接受其他参数,因此您可以修改结果:docs

Python Pretty Printer文档

>>> import pprint
>>> tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
... ('parrot', ('fresh fruit',))))))))
>>> stuff = ['a' * 10, tup, ['a' * 30, 'b' * 30], ['c' * 20, 'd' * 20]]
>>> pprint.pprint(stuff)
['aaaaaaaaaa',
 ('spam',
  ('eggs',
   ('lumberjack',
    ('knights', ('ni', ('dead', ('parrot', ('fresh fruit',)))))))),
 ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'],
 ['cccccccccccccccccccc', 'dddddddddddddddddddd']]

您的用例:

^{pr2}$

一张漂亮的印刷品也许能满足你的需要

import pprint
pprint.pprint(result)

如果你不想用漂亮的印刷品

^{pr2}$

输出

a   1
c   3
b   2

相关问题 更多 >