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


Posted in Python onMarch 13, 2018

学习Python的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序。

因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用print命令或print函数可以答应出数组中的每个元素;

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

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

1. 少量元素情况

#打印数组中的元素
import numpy as np
a = np.array(6)
print a

程序结果为:

[0 1 2 3 4 5]

2. 大量元素情况

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

import numpy as np
np.set_printoptions(threshold=np.NaN)
print np.arange(100)
print np.arange(100).reshape(10, 10)

结果为:

[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]
[[ 0  1  2  3  4  5  6  7  8  9]
 [10 11 12 13 14 15 16 17 18 19]
 [20 21 22 23 24 25 26 27 28 29]
 [30 31 32 33 34 35 36 37 38 39]
 [40 41 42 43 44 45 46 47 48 49]
 [50 51 52 53 54 55 56 57 58 59]
 [60 61 62 63 64 65 66 67 68 69]
 [70 71 72 73 74 75 76 77 78 79]
 [80 81 82 83 84 85 86 87 88 89]
 [90 91 92 93 94 95 96 97 98 99]]

当array里面的存放的数据维度过大时,在控制台会出现不能将array完全输出的情况,中间部分的结果会用省略号打印出来。这时就需要用到numpy里面的set_printoptions()方法

我们来看一下 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:

np.set_printoptions(precision=4)
print(np.array([1.23456789]))
>> [ 1.2346] # 最后进位了

threshold:

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:

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

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

Python 相关文章推荐
Python 抓取动态网页内容方案详解
Dec 25 Python
Python中super关键字用法实例分析
May 28 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
Python环境搭建之OpenCV的步骤方法
Oct 20 Python
微信跳一跳辅助python代码实现
Jan 05 Python
Tensorflow之Saver的用法详解
Apr 23 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
Aug 12 Python
python Canny边缘检测算法的实现
Apr 24 Python
vscode写python时的代码错误提醒和自动格式化的方法
May 07 Python
Tensorflow实现将标签变为one-hot形式
May 22 Python
Python如何把字典写入到CSV文件的方法示例
Aug 23 Python
python实现学生信息管理系统
Apr 05 #Python
python针对excel的操作技巧
Mar 13 #Python
python实现聊天小程序
Mar 13 #Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 #Python
python实现简易通讯录修改版
Mar 13 #Python
python学生信息管理系统
Mar 13 #Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 #Python
You might like
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
php解析json数据实例
2014/08/19 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
六个窍门助你提高Python运行效率
2015/06/09 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
python学习入门细节知识点
2018/03/29 Python
python pygame实现2048游戏
2018/11/20 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
python3 xpath和requests应用详解
2020/03/06 Python
如何在django中实现分页功能
2020/04/22 Python
医院检讨书范文
2014/02/01 职场文书
预备党员政审材料
2014/02/04 职场文书
房地产推广策划方案
2014/05/19 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
法人身份证明书
2014/10/08 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL