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 相关文章推荐
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
Python日期时间Time模块实例详解
Apr 15 Python
Python数据类型之List列表实例详解
May 08 Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 Python
Python logging模块handlers用法详解
Aug 14 Python
python通过opencv调用摄像头操作实例分析
Jun 07 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
Python进行区间取值案例讲解
Aug 02 Python
宝塔更新Python及Flask项目的部署
Apr 11 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
Python实现Linux中的du命令
2017/06/12 Python
python实现八大排序算法(2)
2017/09/14 Python
Python实现多级目录压缩与解压文件的方法
2018/09/01 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
生产部主管岗位职责
2014/01/06 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
毕业生个人总结
2015/02/28 职场文书
太行山上观后感
2015/06/05 职场文书
工作证明格式范文
2015/06/15 职场文书
银行资信证明
2015/06/17 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers