Python数组定义方法


Posted in Python onApril 13, 2016

本文实例讲述了Python数组定义方法。分享给大家供大家参考,具体如下:

Python中没有数组的数据结构,但列表很像数组,如:

a=[0,1,2]

这时:a[0]=0, a[1]=1, a[[2]=2,但引出一个问题,即如果数组a想定义为0到999怎么办?这时可能通过a = range(0, 1000)实现。或省略为a = range(1000).如果想定义1000长度的a,初始值全为0,则 a = [0 for x in range(0, 1000)]

下面是二维数组的定义:

直接定义:

a=[[1,1],[1,1]]

这里定义了一个2*2的,且初始为0的二维数组。

间接定义:

a=[[0 for x in range(10)] for y in range(10)]

这里定义了10*10初始为0的二维数组。

还有更简单的字义二维数组的方法:

b = [[0]*10]*10

定义10*10初始为0的二维数组。

与a=[[0 for x in range(10)] for y in range(10)]比较:print a==b的结果为True。

但用b的定义方法代替a后,以前的可以正常运行的程序也出错了,经过仔细分析得出区别:

a[0][0]=1时,只有a[0][0]为1,其他全为0。

b[0][0]=1时,a[0][0],a[1][0],只到a[9,0]全部为1。

由此得到大数组中的10个小的一维数据全是一个相同的引用,即指向同一地址。
故 b = [[0]*10]*10并不符合我们常规意义上的二维数组。

同时经过试验:c=[0]*10的定义与c=[0 for x in range(10)]有同样的效果,而没有上面相同引用的问题,估计数组c的定义时是值类型相乘,而前面b的用类型的相乘,因为一维数组是一个引用(借用C#中的值类型和引用类型,不知是否合适)。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中的字符串类型基本知识学习教程
Feb 04 Python
python3如何将docx转换成pdf文件
Mar 23 Python
Python3.8中使用f-strings调试
May 22 Python
使用python实现ftp的文件读写方法
Jul 02 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
Django关于admin的使用技巧和知识点
Feb 10 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
Python实现电视里的5毛特效实例代码详解
May 15 Python
Django Form常用功能及代码示例
Oct 13 Python
Django使用echarts进行可视化展示的实践
Jun 10 Python
Python基于select实现的socket服务器
Apr 13 #Python
Python简单实现子网掩码转换的方法
Apr 13 #Python
Python多进程分块读取超大文件的方法
Apr 13 #Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 #Python
Python字符串格式化输出方法分析
Apr 13 #Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 #Python
python 实时遍历日志文件
Apr 12 #Python
You might like
PHP flock 文件锁详细介绍
2012/12/29 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
PHP微商城开源代码实例
2019/03/27 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
brook javascript框架介绍
2011/10/10 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
python获取多线程及子线程的返回值
2017/11/15 Python
Python os.access()用法实例
2019/02/18 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
企业治理工作自我评价
2013/09/26 职场文书
集团薪酬管理制度
2014/01/13 职场文书
大学生创业感言
2014/01/25 职场文书
2014年清明节寄语
2014/04/03 职场文书
合作经营协议书
2014/04/17 职场文书
代理协议书
2014/04/22 职场文书
党员先进事迹材料
2014/12/19 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL