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实现保证只能运行一个脚本实例
Jun 24 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
python开发中range()函数用法实例分析
Nov 12 Python
Python用threading实现多线程详解
Feb 03 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
Django框架的中的setting.py文件说明详解
Oct 15 Python
CentOS下Python3的安装及创建虚拟环境的方法
Nov 28 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 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文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
浅谈Vue数据响应
2018/11/05 Javascript
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python内置函数delattr的具体用法
2017/11/23 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
python绘制雪景图
2019/12/16 Python
python能自学吗
2020/06/18 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
高中政治教学反思
2014/01/18 职场文书
关于赌博的检讨书
2014/01/24 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
教育见习报告范文
2014/11/03 职场文书
五年级小学生评语
2014/12/26 职场文书
质检员工作总结2015
2015/04/25 职场文书
银行资信证明
2015/06/17 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
商业计划书之服装
2019/09/09 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python