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类定义的讲解
Nov 01 Python
Python极简代码实现杨辉三角示例代码
Nov 15 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python中矩阵库Numpy基本操作详解
Nov 21 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
python实现屏保程序(适用于背单词)
Jul 30 Python
Python阶乘求和的代码详解
Feb 14 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
Python文件操作模拟用户登陆代码实例
Jun 09 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 Python
Python实战之实现简易的学生选课系统
May 25 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
Windows下的PHP5.0详解
2006/11/18 PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
PHP实现简易blog的制作
2016/10/24 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python IDLE清空窗口的实例
2018/06/25 Python
Python turtle画图库&&画姓名实例
2020/01/19 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
介绍一下#error预处理
2015/09/25 面试题
架构师岗位职责
2013/11/18 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
小学生获奖感言范文
2014/02/02 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
文艺演出主持词
2015/07/01 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL