Python 初始化多维数组代码


Posted in Python onSeptember 06, 2008

Python中初始化一个5 x 3每项为0的数组,最好方法是:

multilist = [[0 for col in range(5)] for row in range(3)]

我们知道,为了初始化一个一维数组,我们可以这样做:
alist = [0] * 5

没错,那我们初始化一个二维数组时,是否可以这样做呢:
multi = [[0] * 5* 3

其实,这样做是不对的,因为[0] * 5是一个一维数组的对象,* 3的话只是把对象的引用复制了3次,比如,我修改multi[0][0]:
multi = [[0] * 5* 3
multi[0][0] 
= 'Love China'
print multi
输出的结果将是:
[['Love China', 0, 0, 0, 0], ['Love China', 0, 0, 0, 0], ['Love China', 0, 0, 0, 0]]
我们修改了multi[0][0],却把我们的multi[1][0],multi[2][0]也修改了。这不是我们想要的结果。

如果我们这样写呢:

multilist = [[0] * 5 for row in range(3)]
multilist[0][0] 
= 'Love China'
print multilist
我们看输出结果:
[['Love China', 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
恩,没问题。但是,由于使用 * 的方法比较容易引起混淆导致Bug,所以还是推荐使用上面第一种方法,即:
multilist = [[0 for col in range(5)] for row in range(3)]
Python 相关文章推荐
简单介绍Python的Django框架的dj-scaffold项目
May 30 Python
python中模块查找的原理与方法详解
Aug 11 Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
Django单元测试工具test client使用详解
Aug 02 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
python图形绘制奥运五环实例讲解
Sep 14 Python
Python爬虫爬取有道实现翻译功能
Nov 27 Python
如何查看python关键字
Jan 17 Python
python源码剖析之PyObject详解
May 18 Python
python的netCDF4批量处理NC格式文件的操作方法
Mar 21 Python
Python enumerate遍历数组示例应用
Sep 06 #Python
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 #Python
Python httplib,smtplib使用方法
Sep 06 #Python
Python 命令行参数sys.argv
Sep 06 #Python
Python 时间处理datetime实例
Sep 06 #Python
Python linecache.getline()读取文件中特定一行的脚本
Sep 06 #Python
Python open读写文件实现脚本
Sep 06 #Python
You might like
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
jquery时间下拉框小例子
2013/04/15 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
ztree实现权限横向显示功能
2017/05/20 Javascript
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
python mock测试的示例
2020/10/19 Python
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
管理学专业个人求职信范文
2013/12/13 职场文书
大学生求职自我评价
2014/01/16 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
行政申诉状范文
2015/05/20 职场文书
2015教师节通讯稿
2015/07/20 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
python数字图像处理实现图像的形变与缩放
2022/06/28 Python