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 合并文件的具体实例
Aug 08 Python
Python基本数据类型详细介绍
Mar 11 Python
Python 常用string函数详解
May 30 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
django项目搭建与Session使用详解
Oct 10 Python
python tools实现视频的每一帧提取并保存
Mar 20 Python
python实现复制大量文件功能
Aug 31 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
Feb 28 Python
在python中使用pyspark读写Hive数据操作
Jun 06 Python
pandas 数据类型转换的实现
Dec 29 Python
python实现双人五子棋(终端版)
Dec 30 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 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
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
express 项目分层实践详解
2018/12/10 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
python获取目录下所有文件的方法
2015/06/01 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
python pygame实现方向键控制小球
2019/05/17 Python
python实现电子书翻页小程序
2019/07/23 Python
Python扫描端口的实现
2021/01/25 Python
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
linux面试题参考答案(6)
2014/08/29 面试题
电子商务个人自荐信
2013/12/12 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
一年级语文教学反思
2014/02/13 职场文书
户籍证明书标准模板
2014/09/10 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
融资合作协议书范本
2014/10/17 职场文书
团组织推优材料
2014/12/29 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
Python中文纠错的简单实现
2021/07/07 Python