Python当中的array数组对象实例详解


Posted in Python onJune 12, 2019

计算机为数组分配一段连续的内存,从而支持对数组随机访问;

由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。
数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在python中,这个值总是1)

import array
#array模块是python中实现的一种高效的数组存储类型。它和list相似,但是所有的数组成员必须是同一种类型,在创建数组的时候,就确定了数组的类型
#array.array(typecode,[initializer]) --typecode:元素类型代码;initializer:初始化器,若数组为空,则省略初始化器
arr = array.array('i',[0,1,1,3])
print(arr)
#array.typecodes --模块属性
print('\n输出一条 包含所有可用类型代码的字符串:')
print(array.typecodes) #注意调用者是模块名,不是某个对象
#array.typecode -- 对象属性
print('\n 输出 用于创建数组的类型代码字符:')
print(arr.typecode)
#array.itemsize --对象属性
print('\n输出 数组的元素个数:')
print(arr.itemsize)
#array.append(x) --对象方法
print('\n将一个新值附加到数组的末尾:')
arr.append(4)
print(arr)
#array.buffer_info() -- 对象方法
print('\n获取数组在存储器中的地址、元素的个数,以元组形式(地址、长度)返回:')
print(arr.buffer_info())
#array.count(x) -- 对象方法
print('\n获取元素1在数组中出现的次数:')
print(arr.count(1))
#array.extend(iterable) -- 对象方法:将可迭代对象的袁旭序列附加到数组的末尾,合并两个序列
print('\n将可迭代对象的元素序列附加到数据的末尾,合并两个序列:')
#注意:附加元素数值类型必须与调用对象的元素的数值类型一致
_list = [5,6,7]
arr.extend(_list)
print(arr)
#array.fromlist(list) --对象方法:将列表中的元素追加到数组后面,相当于for x in list:a.append(x)
print('\n将列表中的元素追加到数组后面,相当于for x in list:a.append(x):')
arr.fromlist(_list)
print(arr)
#array.index(x) --对象方法:返回数组中x的最小下标
print('\n返回数组中1的最小下标:')
print(arr.index(1))
#array.insert(1) --对象方法:在下表i(负值表示倒数)之前插入值x
print('\n在下表1(负值表示倒数)之前插入值0:')
arr.insert(1,0)
print(arr)
#array.pop(i) --对象方法:删除索引为i的项,并返回它
print('\n删除索引为4的项,并返回它:')
print(arr.pop(4))
print(arr)
#array.remove(x) --对象方法:删除第一次出现的元素x
print('\n删除第一次出现的元素5:')
arr.remove(5)
print(arr)
#array.reverse() --对象方法:反转数组中的元素值
print('\n将数组arr中元素的顺序反转:')
arr.reverse()
print(arr)
#array.tolist():将数组转换为具有相同元素的列表(list)
print('\n将数组arr转换为已给具有相同元素的列表:')
li = arr.tolist()
print(li)

输出结果:

D:\python\test0611\venv\Scripts\python.exe D:/python/test0611/test.py
array('i', [0, 1, 1, 3])
输出一条 包含所有可用类型代码的字符串:
bBuhHiIlLqQfd
 输出 用于创建数组的类型代码字符:
i
输出 数组的元素个数:
4
将一个新值附加到数组的末尾:
array('i', [0, 1, 1, 3, 4])
获取数组在存储器中的地址、元素的个数,以元组形式(地址、长度)返回:
(2325235347184, 5)
获取元素1在数组中出现的次数:
2
将可迭代对象的元素序列附加到数据的末尾,合并两个序列:
array('i', [0, 1, 1, 3, 4, 5, 6, 7])
将列表中的元素追加到数组后面,相当于for x in list:a.append(x):
array('i', [0, 1, 1, 3, 4, 5, 6, 7, 5, 6, 7])
返回数组中1的最小下标:
1
在下表1(负值表示倒数)之前插入值0:
array('i', [0, 0, 1, 1, 3, 4, 5, 6, 7, 5, 6, 7])
删除索引为4的项,并返回它:
3
array('i', [0, 0, 1, 1, 4, 5, 6, 7, 5, 6, 7])
删除第一次出现的元素5:
array('i', [0, 0, 1, 1, 4, 6, 7, 5, 6, 7])
将数组arr中元素的顺序反转:
array('i', [7, 6, 5, 7, 6, 4, 1, 1, 0, 0])
将数组arr转换为已给具有相同元素的列表:
[7, 6, 5, 7, 6, 4, 1, 1, 0, 0]
Process finished with exit code 0

所有数值类型的字符代码表:

Python当中的array数组对象实例详解

总结

以上所述是小编给大家介绍的Python当中的array数组对象 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python在多玩图片上下载妹子图的实现代码
Aug 13 Python
一个计算身份证号码校验位的Python小程序
Aug 15 Python
pycharm安装图文教程
May 02 Python
python负载均衡的简单实现方法
Feb 04 Python
Python中判断输入是否为数字的实现代码
May 26 Python
python实现nao机器人手臂动作控制
Apr 29 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
matplotlib实现显示伪彩色图像及色度条
Dec 07 Python
Python使用正则实现计算字符串算式
Dec 29 Python
在keras里面实现计算f1-score的代码
Jun 15 Python
在Windows下安装配置CPU版的PyTorch的方法
Apr 02 Python
python process模块的使用简介
May 14 Python
Django模型序列化返回自然主键值示例代码
Jun 12 #Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 #Python
python 列表输出重复值以及对应的角标方法
Jun 11 #Python
使用python list 查找所有匹配元素的位置实例
Jun 11 #Python
python找出一个列表中相同元素的多个索引实例
Jun 11 #Python
三步实现Django Paginator分页的方法
Jun 11 #Python
python-tkinter之按钮的使用,开关方法
Jun 11 #Python
You might like
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
浅析php单例模式
2014/11/25 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
JavaScript 事件的一些重要说明
2009/10/25 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
使用Python实现一个简单的项目监控
2015/03/31 Python
Python字符串格式化输出方法分析
2016/04/13 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
Python简单生成随机数的方法示例
2018/03/31 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
python实现双色球随机选号
2020/01/01 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
大一新生军训时的自我评价分享
2013/12/05 职场文书
合作经营协议书范本
2014/09/16 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
干部培训工作总结2015
2015/05/25 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA