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 11 Python
约瑟夫问题的Python和C++求解方法
Aug 20 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
Python中操作符重载用法分析
Apr 29 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
python如何获取服务器硬件信息
May 11 Python
python+pyqt5实现24点小游戏
Jan 24 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
Python如何在DataFrame增加数值
Feb 14 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 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 数组入门教程小结
2009/05/20 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
Python enumerate遍历数组示例应用
2008/09/06 Python
python处理xml文件的方法小结
2017/05/02 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
Django缓存Cache使用详解
2020/11/30 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
读书活动总结
2014/04/28 职场文书
环保口号大全
2014/06/12 职场文书
活动总结报告怎么写
2014/07/03 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
师德师风自我评价范文
2014/09/11 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
白酒代理协议书范本
2014/10/26 职场文书
会议新闻稿
2015/07/17 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
Python中itertools库的四个函数介绍
2022/04/06 Python
Golang并发工具Singleflight
2022/05/06 Golang