PPrint无法正常工作(Python)?

时间:2016-08-20 22:22:01

标签: python python-3.x pprint

我正在尝试在字典上使用Python的pprint但由于某种原因它无效。这是我的代码(我使用PyCharm Pro作为我的IDE):`

from pprint import pprint
message = "Come on Eileen!"
count = {}

for character in message:
    count.setdefault(character, 0)
    count[character] += 1

pprint(count)

这是我的输出:

{' ': 2, '!': 1, 'C': 1, 'E': 1, 'e': 3, 'i': 1, 'l': 1, 'm': 1, 'n': 2, 'o': 2}

对此有任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:6)

输出完全正确且预期。来自pprint module documentation

  

格式化的表示将对象保留在一行(如果它可以),如果它们不适合允许的宽度,则将它们分成多行。

大胆强调我的。

您可以将width关键字参数设置为1,以强制每个键值对打印在单独的一行:

>>> pprint(count, width=1)
{' ': 2,
 '!': 1,
 'C': 1,
 'E': 1,
 'e': 3,
 'i': 1,
 'l': 1,
 'm': 1,
 'n': 2,
 'o': 2}

答案 1 :(得分:1)

您必须指定第二个参数,即

pprint.pprint(count, width=1)

或者您的情况

pprint(count, width=1)

输出:

{' ': 2,
 '!': 1,
 'C': 1,
 'E': 1,
 'e': 3,
 'i': 1,
 'l': 1,
 'm': 1,
 'n': 2,
 'o': 2}

答案 2 :(得分:-1)

练习时遇到同样的问题,然后我意识到我一次又一次运行旧的characterCount.py而不是运行新的漂亮的Count.py文件。 尝试单击顶部的运行按钮,然后选择正确的文件,然后再次运行。