You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Python PrettyPrinter实现首尾括号单独分行输出?

解决Python PrettyPrinter实现逐行输出列表的问题

要实现让列表的起始括号、每个元素、结束括号各占单独一行的效果,其实用pprint自带的参数就能搞定,不需要复杂的自定义:

方法:设置极小的width参数

pprint.PrettyPrinter的width参数控制了每行允许的最大字符数,当我们把这个值设得足够小(比如width=1),它就会强制把列表的每个元素都拆到单独一行,同时自动将起始和结束括号也放在独立行。

示例代码:

import pprint

my_list = [1, 2, 3]
# 设置width=1,indent可以根据需求调整(这里用2和你示例的格式匹配)
pp = pprint.PrettyPrinter(indent=2, width=1)
pp.pprint(my_list)

输出结果正好符合你的期望:

[
  1,
  2,
  3
]

原理说明

pprint的换行逻辑是基于width判断的:当列表的单行表示长度超过width限制时,就会触发“展开式”输出——把每个元素单独分行,括号也各自占一行。设置width=1相当于强制触发这个逻辑,不管列表多短都会展开输出。

如果需要更精细的控制(比如不想对所有类型都强制换行),也可以自定义pprint的格式类,但对于你的需求来说,调整width参数是最简单直接的方案。

内容的提问来源于stack exchange,提问作者Dylanthepiguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:53:50