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实现从url中提取域名的几种方法
Sep 26 Python
python 全文检索引擎详解
Apr 25 Python
python绘制条形图方法代码详解
Dec 19 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
Django项目中使用JWT的实现代码
Nov 04 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
python 链接sqlserver 写接口实例
Mar 11 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
Python如何合并多个字典或映射
Jul 24 Python
Django一小时写出账号密码管理系统
Apr 29 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
joomla内置的表单验证功能使用方法
2010/06/11 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
js中style.display=""无效的解决方法
2014/10/30 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
Python操作json数据的一个简单例子
2014/04/17 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
德国家具折扣店:POCO
2020/02/28 全球购物
党员领导干部承诺书
2014/05/28 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
紧急迫降观后感
2015/06/15 职场文书
摘录式读书笔记
2015/07/01 职场文书
初中政治教师教学反思
2016/02/23 职场文书
mysql中between的边界,范围说明
2021/06/08 MySQL