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 30 Python
零基础写python爬虫之HTTP异常处理
Nov 05 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 Python
python使用MQTT给硬件传输图片的实现方法
May 05 Python
python for循环remove同一个list过程解析
Aug 14 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
Python如何截图保存的三种方法(小结)
Sep 01 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 Python
selenium与xpath之获取指定位置的元素的实现
Jan 26 Python
Python中time标准库的使用教程
Apr 13 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
php中define用法实例
2015/07/30 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
Python Deque 模块使用详解
2014/07/04 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
Python 如何对文件目录操作
2020/07/10 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
八年级数学教学反思
2014/01/31 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
护士自荐信范文
2015/03/25 职场文书
工程进度款催款函
2015/06/24 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书