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编码时应该注意的几个情况
Mar 04 Python
python实现类似ftp传输文件的网络程序示例
Apr 08 Python
基python实现多线程网页爬虫
Sep 06 Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
python 同时运行多个程序的实例
Jan 07 Python
使用Python opencv实现视频与图片的相互转换
Jul 08 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
python爬虫中多线程的使用详解
Sep 23 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
windows下的pycharm安装及其设置中文菜单
Apr 23 Python
Python虚拟环境的创建和使用详解
Sep 07 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
PHP4在Windows2000下的安装
2006/10/09 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
简述vue状态管理模式之vuex
2018/08/29 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
python计算时间差的方法
2015/05/20 Python
Python正则表达式使用范例分享
2016/12/04 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
Python常用库大全及简要说明
2020/01/17 Python
NumPy排序的实现
2020/01/21 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
python实现猜拳游戏项目
2020/11/30 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
泰国国际航空公司官网:Thai Airways International
2019/12/04 全球购物
外包公司软件测试工程师
2014/11/01 面试题
大学生毕业自我鉴定范文
2013/11/03 职场文书
学术诚信承诺书
2014/05/26 职场文书
建国大业观后感600字
2015/06/01 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python