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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
python将ip地址转换成整数的方法
Mar 17 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
python中字符串类型json操作的注意事项
May 02 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
May 25 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
python+mysql实现教务管理系统
Feb 20 Python
使用OpenCV实现仿射变换—平移功能
Aug 29 Python
python3图片文件批量重命名处理
Oct 31 Python
Python内置加密模块用法解析
Nov 25 Python
如何给Python代码进行加密
Jan 10 Python
python eventlet绿化和patch原理
Nov 21 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
php session劫持和防范的方法
2013/11/12 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
Vue动态获取width的方法
2018/08/22 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
python实现查询苹果手机维修进度
2015/03/16 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
自荐信模版
2013/10/24 职场文书
国贸专业个人求职信分享
2013/12/04 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
趣味运动会活动方案
2014/02/12 职场文书
卫生标语大全
2014/06/21 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
2014年会计工作总结
2014/11/27 职场文书
班主任高考寄语
2015/02/26 职场文书
小学教师自我评价
2015/03/04 职场文书
党员干部学习心得体会
2016/01/23 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
新手初学Java网络编程
2021/07/07 Java/Android