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语言的优雅之处
Jul 04 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
python numpy 显示图像阵列的实例
Jul 02 Python
python代码 输入数字使其反向输出的方法
Dec 22 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
解决python3 安装不了PIL的问题
Aug 16 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
什么是Python中的顺序表
Jun 02 Python
Python pymysql模块安装并操作过程解析
Oct 13 Python
Python+Xlwings 删除Excel的行和列
Dec 19 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支持断点续传的源码
2010/05/16 PHP
php 文件上传实例代码
2012/04/19 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
phalcon框架使用指南
2016/02/23 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
有道JavaScript监听浏览器的问题
2010/06/23 Javascript
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Django返回json数据用法示例
2016/09/18 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
Python中整数的缓存机制讲解
2019/02/16 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
python实现IOU计算案例
2020/04/12 Python
python不同版本的_new_不同点总结
2020/12/09 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
什么是设计模式
2012/06/17 面试题
学生会竞聘书范文
2014/03/31 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
2016特色励志班级口号
2015/12/24 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL