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中的__new__与__init__魔术方法理解笔记
Nov 08 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
Python之web模板应用
Dec 26 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
tensorflow 自定义损失函数示例代码
Feb 05 Python
Python判断变量是否是None写法代码实例
Oct 09 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 Python
Python实现将多张图片合成MP4视频并加入背景音乐
Apr 28 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+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
javascript天然的迭代器
2010/10/29 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
Python 自动化表单提交实例代码
2017/06/08 Python
Python3 中文文件读写方法
2018/01/23 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
pycharm设置注释颜色的方法
2018/05/23 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
分享一个python的aes加密代码
2020/12/22 Python
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
幼教简历自我评价
2014/01/28 职场文书
教师专业自荐信
2014/05/31 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
2016年元旦致辞
2015/08/01 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android
微信小程序调用python模型
2022/04/21 Python