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的Tornado框架中实现简单的在线代理的教程
May 02 Python
python操作sqlite的CRUD实例分析
May 08 Python
python实现中文分词FMM算法实例
Jul 10 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
python多进程使用及线程池的使用方法代码详解
Oct 24 Python
python 使用值来排序一个字典的方法
Nov 16 Python
pycharm运行和调试不显示结果的解决方法
Nov 30 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
django 实现手动存储文件到model的FileField
Mar 30 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
python3中calendar返回某一时间点实例讲解
Nov 18 Python
class类在python中获取金融数据的实例方法
Dec 10 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
php实现httpclient类示例
2014/04/08 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
js中document.write的那点事
2014/12/12 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
bootstrap中的 form表单属性role="form"的作用详解
2017/01/20 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
vue组件学习教程
2017/09/09 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
使用python3实现操作串口详解
2019/01/01 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
大学校庆邀请函
2014/01/11 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
禁毒主题班会教案
2015/08/14 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python