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程序代码片段
Jun 02 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
Python实现简单生成验证码功能【基于random模块】
Feb 10 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
Python实现ATM系统
Feb 17 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
May 08 Python
如何理解Python中包的引入
May 29 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
python爬虫scrapy图书分类实例讲解
Nov 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
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
php中JSON的使用方法
2015/04/30 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
python文件操作整理汇总
2014/10/21 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python中偏函数用法示例
2018/06/07 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
Python gevent协程切换实现详解
2020/09/14 Python
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
2016/12/30 HTML / CSS
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
勤俭节约演讲稿
2014/05/08 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
python process模块的使用简介
2021/05/14 Python
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技
MySQL批量更新不同表中的数据
2022/05/11 MySQL