计算机为数组分配一段连续的内存,从而支持对数组随机访问;
由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。
数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在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数组对象 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。