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编写生成验证码的脚本的教程
May 04 Python
python如何在列表、字典中筛选数据
Mar 19 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
python文件处理fileinput使用方法详解
Jan 02 Python
NumPy排序的实现
Jan 21 Python
python 插入日期数据到Oracle实例
Mar 02 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
python 根据列表批量下载网易云音乐的免费音乐
Dec 03 Python
教你怎么用Python监控愉客行车程
Apr 29 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
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
详解JavaScript数组过滤相同元素的5种方法
2017/05/23 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
微信小程序登录态和检验注册过没的app.js写法
2019/05/22 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
Python计算两个日期相差天数的方法示例
2017/05/23 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Python格式化日期时间操作示例
2018/06/28 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
python文字转语音实现过程解析
2019/11/12 Python
pandas分组聚合详解
2020/04/10 Python
python接口自动化框架实战
2020/12/23 Python
CSS3 边框效果
2019/11/04 HTML / CSS
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
贯彻学习两会心得体会范文
2014/03/17 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫