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中使用ConfigParser解析ini配置文件实例
Aug 30 Python
使用python开发vim插件及心得分享
Nov 04 Python
详解Python编程中time模块的使用
Nov 20 Python
使用PyV8在Python爬虫中执行js代码
Feb 16 Python
python整小时 整天时间戳获取算法示例
Feb 20 Python
Python常用特殊方法实例总结
Mar 22 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
django 控制页面跳转的例子
Aug 06 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 Python
python3 xpath和requests应用详解
Mar 06 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
编写python代码实现简单抽奖器
Oct 20 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设计模式 Template (模板模式)
2011/06/26 PHP
PHP性能优化 产生高度优化代码
2011/07/22 PHP
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
python实现web方式logview的方法
2015/08/10 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python Map 函数的使用
2020/08/28 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
开朗女孩的自我评价
2014/02/10 职场文书
西式结婚主持词
2014/03/14 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
预备党员党支部意见
2015/06/02 职场文书
ICOM R71E和R72E图文对比解说
2022/04/07 无线电