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编写生成树状结构的文件目录的脚本的教程
May 04 Python
利用python解决mysql视图导入导出依赖的问题
Dec 17 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
关于python中plt.hist参数的使用详解
Nov 28 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
Python进度条的使用
May 17 Python
python manim实现排序算法动画示例
Aug 14 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处理整数函数的详解
2013/06/09 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
jquery 常用操作方法
2010/01/28 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
Python随机函数random()使用方法小结
2018/04/29 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
python实现最短路径的实例方法
2020/07/19 Python
python matplotlib库的基本使用
2020/09/23 Python
Python hashlib模块的使用示例
2020/10/09 Python
python利用opencv保存、播放视频
2020/11/02 Python
python中pow函数用法及功能说明
2020/12/04 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
一份比较全的PHP面试题
2016/07/29 面试题
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
电脑租赁公司创业计划书
2014/01/08 职场文书
应聘英语教师求职信
2014/04/24 职场文书
2016年春节慰问信息
2015/03/25 职场文书
2015年科普工作总结
2015/07/23 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
8个JS的reduce使用实例和reduce操作方式
2021/10/05 Javascript