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 22 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
Python smallseg分词用法实例分析
May 28 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
深入浅析Python的类
Jun 22 Python
详解Django的CSRF认证实现
Oct 09 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
基于pytorch中的Sequential用法说明
Jun 24 Python
Python根据指定文件生成XML的方法
Jun 29 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 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
PHP中的extract的作用分析
2008/04/09 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
一个JS翻页效果
2007/07/23 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
JS实现简单表格排序操作示例
2017/10/07 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
Python实现线程池代码分享
2015/06/21 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
python绘制封闭多边形教程
2020/02/18 Python
详解Python IO口多路复用
2020/06/17 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
应届生.NET方向面试题
2015/05/23 面试题
学生个人自我鉴定范文
2014/03/28 职场文书
体育之星事迹材料
2014/05/11 职场文书
特此通知格式
2015/04/27 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
解决Redis启动警告问题
2022/02/24 Redis