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进程类subprocess的一些操作方法例子
Nov 22 Python
python中的编码知识整理汇总
Jan 26 Python
python2.6.6如何升级到python2.7.14
Apr 08 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
机器学习之KNN算法原理及Python实现方法详解
Jul 09 Python
python获取地震信息 微信实时推送
Jun 18 Python
把django中admin后台界面的英文修改为中文显示的方法
Jul 26 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
python框架flask入门之环境搭建及开启调试
Jun 07 Python
Python程序慢的重要原因
Sep 04 Python
Python中Selenium模块的使用详解
Oct 09 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实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
jquery ajax abort()的使用方法
2010/10/28 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
python中format()函数的简单使用教程
2018/03/14 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
python实现抽奖小程序
2020/04/15 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
小学生红领巾广播稿
2014/01/21 职场文书
毕业自我评价
2014/02/05 职场文书
学习型班组申报材料
2014/05/31 职场文书
倡议书的写法
2014/08/30 职场文书
民事赔偿协议书
2014/11/02 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python