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编写检测数据库SA用户的方法
Jul 11 Python
Python入门篇之文件
Oct 20 Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 Python
在Python的Flask框架中使用日期和时间的教程
Apr 21 Python
Python列出一个文件夹及其子目录的所有文件
Jun 30 Python
Python学生信息管理系统修改版
Mar 13 Python
python2.7和NLTK安装详细教程
Sep 19 Python
利用python在excel里面直接使用sql函数的方法
Feb 08 Python
Python插入Elasticsearch操作方法解析
Jan 19 Python
Python 实现自动登录+点击+滑动验证功能
Jun 10 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
Jul 03 Python
python如何随机生成高强度密码
Aug 19 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
是否存在第一台收音机的说法
2021/03/01 无线电
AM/FM收音机的安装与调试
2021/03/02 无线电
php Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
php项目中百度 UEditor 简单安装调试和调用
2015/07/15 PHP
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
以一段代码为实例快速入门Python2.7
2015/03/31 Python
Python字符串格式化输出方法分析
2016/04/13 Python
python 重定向获取真实url的方法
2018/05/11 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
社区庆中秋节活动方案
2014/02/07 职场文书
开学典礼决心书
2014/03/11 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
HTML中的表单元素介绍
2022/02/28 HTML / CSS
为Centos安装指定版本的Docker
2022/04/01 Servers