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 Web框架Pylons中使用MongoDB的例子
Dec 03 Python
Python for循环中的陷阱详解
Jul 13 Python
python验证身份证信息实例代码
May 06 Python
完美解决python3.7 pip升级 拒绝访问问题
Jul 12 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
Python 实现文件读写、坐标寻址、查找替换功能
Sep 11 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
Django中的DateTimeField和DateField实现
Feb 24 Python
python - timeit 时间模块
Apr 06 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 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
php格式化日期实例分析
2014/11/12 PHP
php include类文件超时问题处理
2015/02/06 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
JQuery伸缩导航练习示例
2013/11/13 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
如何改进javascript代码的性能
2015/04/02 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
浅谈JS运算符&&和|| 及其优先级
2016/08/10 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
Python异常学习笔记
2015/02/03 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
环境工程专业个人求职信
2013/12/05 职场文书
捐赠仪式主持词
2014/03/19 职场文书
助理政工师申报材料
2014/06/03 职场文书
2015年民主生活会发言材料
2014/12/15 职场文书
工程部岗位职责范本
2015/04/11 职场文书
简爱读书笔记
2015/06/26 职场文书
公司车辆管理制度
2015/08/04 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
Redis命令处理过程源码解析
2022/02/12 Redis
Java的Object类的九种方法
2022/04/13 Java/Android
python神经网络 使用Keras构建RNN训练
2022/05/04 Python