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实现Tab自动补全和历史命令管理的方法
Mar 12 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
Python实现选择排序
Jun 04 Python
Python if语句知识点用法总结
Jun 10 Python
python实时监控cpu小工具
Jun 21 Python
对Python正则匹配IP、Url、Mail的方法详解
Dec 25 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
Dec 13 Python
Python xpath表达式如何实现数据处理
Jun 13 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 Python
Python中X[:,0]和X[:,1]的用法
May 10 Python
Python实现简繁体转换
Jun 07 Python
python脚本框架webpy模板赋值实现
Nov 20 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
Terran剧情介绍
2020/03/14 星际争霸
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
使用adodb lite解决问题
2006/12/31 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
介绍Python中几个常用的类方法
2015/04/08 Python
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
TensorFlow实现创建分类器
2018/02/06 Python
python 自动去除空行的实例
2018/07/24 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
父亲追悼会答谢词
2014/01/17 职场文书
社区中秋节活动方案
2014/01/29 职场文书
新学期决心书
2014/03/11 职场文书
募捐倡议书
2014/04/14 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
Java的Object类的九种方法
2022/04/13 Java/Android
postgresql中如何执行sql文件
2023/05/08 PostgreSQL