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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
python获取当前日期和时间的方法
Apr 30 Python
Python中几个比较常见的名词解释
Jul 04 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
开始着手第一个Django项目
Jul 15 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
Python OpenCV 使用滑动条来调整函数参数的方法
Jul 08 Python
Python循环结构的应用场景详解
Jul 11 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
python绘制彩虹图
Dec 16 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
python模板入门教程之flask Jinja
Apr 11 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
CodeIgniter框架URL路由总结
2014/09/03 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
Python中文编码那些事
2014/06/25 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
python读取指定字节长度的文本方法
2019/08/27 Python
Django如何批量创建Model
2020/09/01 Python
python openssl模块安装及用法
2020/12/06 Python
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
兼职业务员岗位职责
2014/01/01 职场文书
商务助理求职信范文
2014/04/20 职场文书
基层党组织整改方案
2014/10/25 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
Redis入门教程详解
2021/08/30 Redis