python列表初始化为1_python初始化list列表(1维、2维)
1.初始化递增的list:
list1 = list(range(10))
#print list1
#[0,1,2,...,9]
2.初始化每项为0的一维数组:
list2 = [0] * 5
#print list2
#[0,0,0,0,0]
3.初始化固定值的一维数组:
initVal = 1
listLen = 5
list3 = [ initVal for i in range(5)] # 推荐
#print list3
#[1,1,1,1,1]
list4 = [initVal] * listLen
#print list4
#[1,1,1,1,1]
4.初始化一个5x6每项为0(固定值)的数组(推荐使用):
multilist = [[0 for col in range(5)] for row in range(6)] # 推荐
5.初始化一个5x3每项为0(固定值)的数组
multilist = [[0] * 5 for row in range(3)]
看到了以上的方法,那初始化一个二维数组时,是否可以这样做呢:
multi = [[0] * 5] * 3
其实,这样做是不对的,因为[0] * 5是一个一维数组的对象,* 3的话只是把对象的引用复制了3次,比如,我修改multi[0][0]:
multi = [[0] * 5] * 3
multi[0][0] = 'Hello'
print multi
输出的结果将是:
[['Hello', 0, 0, 0, 0], ['Hello', 0, 0, 0, 0], ['Hello', 0, 0,0, 0]]
我们修改了multi[0][0],却把我们的multi[1][0],multi[2][0]也修改了。这不是我们想要的结果。
但是如下写法是对的:
multilist = [[0] * 5 for row in range(3)]
multilist[0][0] = 'Hello'
print multilist
我们看输出结果:
[['Hello', 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
恩,没问题。但是,由于使用 * 的方法比较容易引起混淆导致Bug,所以还是推荐使用上面方法4,即:
multilist = [[0 for col in range(5)] for row in range(6)]
python列表初始化为1_python初始化list列表(1维、2维)相关推荐
- java list初始化为0_Java初始化List方法代码实例
List指的是集合.<>是泛型,里面指定了这个集合中存放的是什么数据. 比如有一个学生类Student,Student里面包含了学生的一些信息.这样每一个Student对象就代表了一个学生 ...
- 在python中、列表中的元素可以是_在Python中存储一个列表的元素,在另一个列表中 – 通过引用?...
我只是觉得我已经把它记下来了,因为我已经看过了 – 对这种行为得到确认会很好;我确实看到了 How do I pass a variable by reference?,但我不确定如何在这种情况下解释 ...
- python 列表定义 初始化为0_Python为列表添加一个foreach方法
引言 我们知道在诸多高级语言中都包含foreach方法,但这里讨论的更类似于JavaScript中的: var array = ['a', 'b', 'c']; array.forEach(funct ...
- 初始化、赋值、默认初始化、列表初始化、类内初始值、直接初始化与拷贝初始化
文章目录 初始化和赋值的区别 什么是默认初始化? 列表初始化 列表初始化的使用场景 不适合使用列表初始化的场景 类内初始值 混用string对象和C风格字符串 数组与vector对象 关于vector ...
- python创建初始值列表_Python - 创建具有初始容量的列表
简短版:使用 pre_allocated_list = [None] * size 预先分配一个列表(即,能够解决列表的'size'元素,而不是通过附加逐渐形成列表).即使在大型列表中,此操作也非常快 ...
- Python初始化空列表,空字典,空元组,空集合
""" 一. Python 推导式的空初始化 1.Python的推导式没做类型的限制,只要是python合法的事物都能放进去 2.list 列表 元素可以重复,且有先后. ...
- Python如何创建相同值的数组/列表
题目要求 现在有这样的一个需求:创建一个数组或列表,列表中的所有值是相同的. 解决方法 找到两种解决方法,第一种是使用Python的基础语法,第二种是借助numpy包提供的函数实现.分别为大家进行介绍 ...
- Python数据结构与算法(一)列表和元组
本系列总结了python常用的数据结构和算法,以及一些编程实现. 参考书籍:<数据结构与算法 Python语言实现> [美]Michael T.Goodrich, Roberto Tama ...
- 【数据结构Python描述】手动实现一个list列表类并分析常用操作时间复杂度
文章目录 一.使用动态数组实现列表 1. 动态数组概念引入 2. 验证列表实现策略 3. 动态数组算法实现 二.摊销法分析时间复杂度 1. 摊销法使用示例 2. 数组容量指数增长 3. 数组容量等差增 ...
最新文章
- 易经——第二卦 坤 坤为地 坤上坤下
- PHP中文处理工具函数的用法总结
- gparted在线扩分区大小
- vs窗体 oracle,VS2010连接oracle数据库的简单例子
- ICSharpCode.SharpZipLib 开源压缩库使用示例
- 一文了解GaussDB 200的产品架构、数据流程、组网方案、服务部署原则、企业级增强特性......
- 20分钟理解React Native For Android原理
- bootstrap java web_JavaWEB开发05_Bootstrap
- Github删除一个无用库
- 自动驾驶(五十八)---------自动驾驶2019年终盘点
- 单片机定时器TMOD与TCON详解!
- DRAM存储系统结构
- 网络推广行业拓客的10个经典方法
- java队列打印杨辉三角_数组打印杨辉三角与队列打印杨辉三角
- 牛客网 D-图图(广搜)
- python读取docx文件出错_Python:读取 .doc、.docx 两种 Word 文件简述及“Word 未能引发事件”错误...
- python dataframe比较两列是否完全相同
- hihocoder 1014
- egret白鹭eui.Image没有默认的实际宽高
- 10:有一门课不及格的学生
热门文章
- Google Tensorflow Webset
- OpenGL学习笔记:画点、直线和多边形(第二讲)
- 软硬计算机电缆的区别,电线也有软硬之分,两者有什么区别?
- java jsp网页计算器_JSP实现计算器功能(网页版)
- vue如何让一句代码只执行一次_lt;Vue 源码笔记系列4gt;异步更新队列与$nextTick...
- x86架构和arm架构_苹果Mac弃用英特尔芯片成真,ARM架构CPU真比X86香?
- python助教评分问题_【1414软工助教】单元测试 得分榜
- Android、Java泛型扫盲
- mysql并发插入死锁_MySQL: 并发replace into的死锁问题分析-阿里云开发者社区
- java设计模式之美_《设计模式之美》-笔记