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中私有函数调用方法解密
Apr 29 Python
PyQt5 pyqt多线程操作入门
May 05 Python
解决pycharm回车之后不能换行或不能缩进的问题
Jan 16 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
用Python写一个自动木马程序
Sep 17 Python
python3.7 openpyxl 删除指定一列或者一行的代码
Oct 08 Python
Python list与NumPy array 区分详解
Nov 06 Python
Python序列化pickle模块使用详解
Mar 05 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
python3代码中实现加法重载的实例
Dec 03 Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 Python
详细总结Python常见的安全问题
May 21 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解析目录路径的3个函数总结
2014/11/18 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
numpy自动生成数组详解
2017/12/15 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python中的groupby分组功能的实例代码
2018/07/11 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
Python 实现一个计时器
2020/07/28 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
研究生自荐信
2013/10/09 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
消防安全标语
2014/06/07 职场文书
行政介绍信范文
2015/05/04 职场文书
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server