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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
python自动裁剪图像代码分享
Nov 25 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
python获取中文字符串长度的方法
Nov 14 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
Apr 29 Python
详解python解压压缩包的五种方法
Jul 05 Python
PyTorch中Tensor的维度变换实现
Aug 18 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
Python如何急速下载第三方库详解
Nov 02 Python
pandas数值排序的实现实例
Jul 25 Python
python中的getter与setter你了解吗
Mar 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
利用php生成验证码
2017/02/23 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
一则python3的简单爬虫代码
2014/05/26 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
python学习之面向对象【入门初级篇】
2017/01/21 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
Python sys模块常用方法解析
2020/02/20 Python
python实现与redis交互操作详解
2020/04/21 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
前台文员的岗位职责
2013/11/14 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
病假证明模板
2015/06/19 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
Python包argparse模块常用方法
2021/06/04 Python