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 相关文章推荐
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
python脚本实现分析dns日志并对受访域名排行
Sep 18 Python
举例讲解Python的lambda语句声明匿名函数的用法
Jul 01 Python
Python中的日期时间处理详解
Nov 17 Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
python pandas库的安装和创建
Jan 10 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
详解Python3中的 input() 函数
Mar 18 Python
Python3如何判断三角形的类型
Apr 12 Python
python 生成器需注意的小问题
Sep 29 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
jQuery find和children方法使用
2011/01/31 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
template.js前端模板引擎使用详解
2017/10/10 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
[02:26]2016国际邀请赛8月3日开战 中国军团出征西雅图
2016/08/02 DOTA
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
Python Django 命名空间模式的实现
2019/08/09 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
全球立体声:World Wide Stereo
2018/09/29 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
2013英文求职信模板范文
2013/11/15 职场文书
预备党员政审材料
2014/02/04 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
社团活动总结书
2014/06/27 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python