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实现simhash算法实例
Apr 25 Python
Python自动登录126邮箱的方法
Jul 10 Python
解决在pycharm中显示额外的 figure 窗口问题
Jan 15 Python
Django中Middleware中的函数详解
Jul 18 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
python实现最速下降法
Mar 24 Python
python 安装impala包步骤
Mar 28 Python
基于Python共轭梯度法与最速下降法之间的对比
Apr 02 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
May 09 Python
Python几种常见算法汇总
Jun 02 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
Jan 06 Python
matplotlib grid()设置网格线外观的实现
Feb 22 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编程中八种常见的文件操作方式
2006/11/19 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
详解vuex的简单使用
2018/03/12 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python实现通过代理服务器访问远程url的方法
2015/04/29 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
Python实现石头剪刀布游戏
2021/01/20 Python
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
美国校园市场:OCM
2017/06/08 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
公司活动总结怎么写
2014/06/25 职场文书
小学校长开学致辞
2015/07/29 职场文书
Java基于字符界面的简易收银台
2021/06/26 Java/Android
Redis批量生成数据的实现
2022/06/05 Redis
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库