python print格式

本文介绍了Python在打印大容量数组时如何通过set_printoptions进行详细显示。包括设置全部显示、位宽显示、设置方法如precision、threshold、edgeitems及formatter,并提供了相关例子。同时讲解了如何恢复默认设置,以便于程序调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:

Python打印输出数组中全部元素

https://www.jb51.net/article/136355.htm

 

1 概述

全部显示

如果数组的容量较小,例如 只含有10个元素,采用print命令或print函数可以答应出数组中的每个元素;

如果数组的容量过大,只能打印出数组的部分元素,打印结果只包含开始部分元素和结尾部分元素,中间元素省略。省略的部分不利于程序的调试;

因此,为了方便调试程序,需要将数组中的元素全部打印出来。

位宽显示

精度都显示查看不方便。

2设置

可以采用 set_printoptions(threshold='nan')

方法

import numpy as np

np.set_printoptions(threshold=np.inf)

set_printoptions参数

set_printoptions(precision=None,

         threshold=None,

         edgeitems=None,

         linewidth=None,

         suppress=None,

         nanstr=None,

         infstr=None,

         formatter=None)

precision:输出结果保留精度的位数

threshold:array数量的个数在小于threshold的时候不会被折叠

edgeitems:在array已经被折叠后,开头和结尾都会显示edgeitems个数

formatter:这个很有意思,像python3里面str.format(),就是可以对你的输出进行自定义的格式化

举例

precision:

1

2

3

np.set_printoptions(precision=4)

print(np.array([1.23456789]))

>> [ 1.2346] # 最后进位了

threshold:

1

2

3

4

5

6

np.set_printoptions(threshold=10)

print(np.arange(1, 11, 1)) # np.arange(1, 11, 1)生成出来是[1-10],10个数

>> [ 1 2 3 4 5 6 7 8 9 10]

np.set_printoptions(threshold=9)

print(np.arange(1, 11, 1))

>> [ 1 2 3 ..., 8 9 10]

edgeitems:

1

2

3

4

5

6

np.set_printoptions(threshold=5)

print(np.arange(1, 11, 1))

>> [ 1 2 3 ..., 8 9 10]

np.set_printoptions(threshold=5, edgeitems=4)

print(np.arange(1, 11, 1))

>> [ 1 2 3 4 ..., 7 8 9 10]

formatter

1

2

3

np.set_printoptions(formatter={'all': lambda x: 'int: ' + str(-x)})

print(np.arange(1, 5, 1))

>> [int: -1 int: -2 int: -3 int: -4]

这个formatter是一个可调用的字典,'all'是其中一个key,表示里面的x可以包含所有type,还有其他key,具体可以在源码里面查看

恢复默认

如果只想在代码中的某一部分使用自定义的printoptions,那么可以通过再次调用np.set_printoptions()这个方法来进行reset

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值