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 02 Python
浅谈Python单向链表的实现
Dec 24 Python
详解python 发送邮件实例代码
Dec 22 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
python模块smtplib学习
May 22 Python
python清除函数占用的内存方法
Jun 25 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
django 框架实现的用户注册、登录、退出功能示例
Nov 28 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
Python通过Pillow实现图片对比
Apr 29 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 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
Yii2简单实现多语言配置的方法
2016/07/23 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
Vue.js用法详解
2017/11/13 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
Vue+Django项目部署详解
2019/05/30 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
python logging添加filter教程
2019/12/24 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
Python requests模块session代码实例
2020/04/14 Python
详解Python IO口多路复用
2020/06/17 Python
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
我的中国梦演讲稿500字
2014/08/19 职场文书
大二学生自我检讨书
2014/10/23 职场文书
化工见习报告范文
2014/10/31 职场文书
销售辞职信范文
2015/03/02 职场文书
生产实习心得体会范文
2016/01/22 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis