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 相关文章推荐
pyramid配置session的方法教程
Nov 27 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
Dec 12 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
python创建与遍历List二维列表的方法
Aug 16 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
Python如何在DataFrame增加数值
Feb 14 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 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用户指南-cookies部分
2006/10/09 PHP
PHP中的Memcache详解
2014/04/05 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
php中使用url传递数组的方法
2015/02/11 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
YUI的Tab切换实现代码
2010/04/11 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
详细介绍Python中的偏函数
2015/04/27 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
Python实现的计数排序算法示例
2017/11/29 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
食堂采购员岗位职责
2014/03/17 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
学前班学生评语
2014/12/29 职场文书
2015年教研员工作总结
2015/05/26 职场文书
python游戏开发之pygame实现接球小游戏
2022/04/22 Python