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中的集合类型操作符
Aug 19 Python
使用Python & Flask 实现RESTful Web API的实例
Sep 19 Python
解决matplotlib库show()方法不显示图片的问题
May 24 Python
在python中利用最小二乘拟合二次抛物线函数的方法
Dec 29 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
python rsa实现数据加密和解密、签名加密和验签功能
Sep 18 Python
python 读取二进制 显示图片案例
Apr 24 Python
基于python实现模拟数据结构模型
Jun 12 Python
PyQt5的QWebEngineView使用示例
Oct 20 Python
Python必备技巧之函数的使用详解
Apr 04 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
Gird事件机制初级读本
2007/03/10 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
Python循环实现n的全排列功能
2019/09/16 Python
基于python 凸包问题的解决
2020/04/16 Python
struct与class的区别
2014/02/03 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
个性婚礼策划方案
2014/05/17 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android