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模拟登陆Tom邮箱示例分享
Jan 13 Python
python命令行参数解析OptionParser类用法实例
Oct 09 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 Python
python flask中静态文件的管理方法
Mar 20 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
关于numpy数组轴的使用详解
Dec 05 Python
Python数据持久化存储实现方法分析
Dec 21 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 Python
浅析python标准库中的glob
Mar 13 Python
Python日志模块logging用法
Jun 05 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命令行脚本单进程运行的方法
2014/04/15 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
JS验证码实现代码
2017/09/14 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
对python生成业务报表的实例详解
2019/02/03 Python
简单了解python反射机制的一些知识
2019/07/13 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
工业设计专业推荐信
2013/10/29 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
督导岗位职责范本
2015/04/10 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL
Python破解极验滑动验证码详细步骤
2021/05/21 Python