首页 > 解决方案 > python中pprint的“宽度”是什么意思?

问题描述

我不明白“宽度”是什么意思。

例如下面的代码,为什么列表是在“width=29”处划分的?

代码:

import pprint

list = [0,1,2,3,4,5,6,7,8,9]

pprint.pprint(list, width=30)
pprint.pprint(list, width=29)

结果:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0,
 1,
 2,
 3,
 4,
 5,
 6,
 7,
 8,
 9]

标签: python

解决方案


根据官方文档

使用 width 参数限制所需的输出宽度;默认为 80 个字符。如果无法在限制宽度内格式化结构,将尽最大努力。如果 compact [parameter] 为 false(默认值),则长序列的每个项目将在单独的行上格式化。

因此,如果一个数据结构(在您的情况下是 10 个整数的列表)不适合 29 个字符,则默认的“尽力而为”策略将其保持在 29 个字符宽度内,会将超大列表的每个元素放在单独的行上。

默认策略对我来说似乎已经足够了,但是如果您想在每行中压缩更多元素以实现更紧凑的重新定向,请 set compact=True

同时 30 个字符的宽度足以在同一行中漂亮地打印整个列表。


推荐阅读