8

我正在尝试pprint在字典上使用 Python,但由于某种原因它不起作用。这是我的代码(我使用 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}

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

4

3 回答 3

16

输出完全正确且符合预期。从pprint模块文档

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

大胆强调我的。

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

>>> pprint(count, width=1)
{' ': 2,
 '!': 1,
 'C': 1,
 'E': 1,
 'e': 3,
 'i': 1,
 'l': 1,
 'm': 1,
 'n': 2,
 'o': 2}
于 2016-08-20T22:24:20.877 回答
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}
于 2020-06-09T13:57:47.760 回答
-2

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

于 2019-10-16T19:41:37.197 回答