python - 如何以与 python 控制台相同的格式打印
问题描述
我正在使用 3D 数组,例如,在 IPython 控制台中:
In [8]: xx = [[[0 for i in range(4)] for j in range(4)] for k in range(4)]
xx
Out[9]:
[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]]
print(xx)
[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]]
当我只是在控制台中评估数组时,它的格式很好,但是当我 print() 它时,它格式化为一长行,然后换行并看起来很糟糕。有很多方法可以从程序中重现终端样式的格式,但是是否可以直接调用为控制台格式化的函数?我试过了
repr(xx)
但这并没有达到预期的效果。这样的函数通常很有用,而不仅仅是数组。
解决方案
使用pprint
,如下所示:
>>> import pprint
>>> pprint.pprint(xx)
[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]]
>>>
推荐阅读
- wordpress - WordPress Multisite 的子站点管理页面 404 错误
- angular - 当服务在 Angular 中更改其状态时触发组件更新的正确方法
- python - 使用 Pandas 分组年份和类型
- highcharts - 如何在系列中隐藏单点栏
- python - Python 3 中基于文本的 RPG 错误 - 关键字不能用作表达式
- excel - 如何在 VBA 中引用结构化表格而不引用其工作表
- r - 在特定条件下随机增加一行的值(二进制)
- jenkins - 如何安排 Jenkins 作业在每个月的最后一天运行
- barcode - Code128 条码规范中是否需要校验和?
- sql - 表中不存在键列。SQL