Python当中的array数组对象实例详解
Python  /  管理员 发布于 7年前   212
计算机为数组分配一段连续的内存,从而支持对数组随机访问;
由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。
数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在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(负值表示倒数)之前插入值xprint('\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) --对象方法:删除第一次出现的元素xprint('\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.pyarray('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的项,并返回它:3array('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数组对象 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号