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 pass详细介绍及实例代码
Nov 24 Python
python实现人脸识别代码
Nov 08 Python
Python基于回溯法解决01背包问题实例
Dec 06 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
对pandas replace函数的使用方法小结
May 18 Python
python opencv实现切变换 不裁减图片
Jul 26 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
安装python及pycharm的教程图解
Oct 10 Python
Python根据字符串调用函数过程解析
Nov 05 Python
python小型的音频操作库mp3Play
Apr 24 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
python 文件查找及内容匹配方法
2018/10/25 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
python线程的几种创建方式详解
2019/08/29 Python
pytorch实现线性拟合方式
2020/01/15 Python
python处理写入数据代码讲解
2020/10/22 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
师范应届毕业生自荐信
2013/11/18 职场文书
问卷调查计划书
2014/01/10 职场文书
捐书寄语赠言
2014/01/18 职场文书
关于保护环境的标语
2014/06/09 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
Python中22个万用公式的小结
2021/07/21 Python