首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PPrint不工作(Python)?

PPrint不工作(Python)?
EN

Stack Overflow用户
提问于 2016-08-20 22:22:01
回答 3查看 8.5K关注 0票数 8

我试图在字典上使用Python的pprint,但由于某种原因,它不起作用。下面是我的代码(我使用PyCharm Pro作为我的IDE):

代码语言:javascript
复制
from pprint import pprint
message = "Come on Eileen!"
count = {}

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

pprint(count)

这是我的输出:

代码语言:javascript
复制
{' ': 2, '!': 1, 'C': 1, 'E': 1, 'e': 3, 'i': 1, 'l': 1, 'm': 1, 'n': 2, 'o': 2}

如果能提供任何帮助,我们将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-20 22:24:20

输出是完全正确和预期的。来自 module documentation

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

大胆强调我的。

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

代码语言:javascript
复制
>>> pprint(count, width=1)
{' ': 2,
 '!': 1,
 'C': 1,
 'E': 1,
 'e': 3,
 'i': 1,
 'l': 1,
 'm': 1,
 'n': 2,
 'o': 2}
票数 16
EN

Stack Overflow用户

发布于 2020-06-09 13:57:47

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

代码语言:javascript
复制
pprint.pprint(count, width=1)

或者在你的情况下

代码语言:javascript
复制
pprint(count, width=1)

输出:

代码语言:javascript
复制
{' ': 2,
 '!': 1,
 'C': 1,
 'E': 1,
 'e': 3,
 'i': 1,
 'l': 1,
 'm': 1,
 'n': 2,
 'o': 2}
票数 1
EN

Stack Overflow用户

发布于 2019-10-16 19:41:37

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

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39059195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档