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维)相关推荐

  1. java list初始化为0_Java初始化List方法代码实例

    List指的是集合.<>是泛型,里面指定了这个集合中存放的是什么数据. 比如有一个学生类Student,Student里面包含了学生的一些信息.这样每一个Student对象就代表了一个学生 ...

  2. 在python中、列表中的元素可以是_在Python中存储一个列表的元素,在另一个列表中 – 通过引用?...

    我只是觉得我已经把它记下来了,因为我已经看过了 – 对这种行为得到确认会很好;我确实看到了 How do I pass a variable by reference?,但我不确定如何在这种情况下解释 ...

  3. python 列表定义 初始化为0_Python为列表添加一个foreach方法

    引言 我们知道在诸多高级语言中都包含foreach方法,但这里讨论的更类似于JavaScript中的: var array = ['a', 'b', 'c']; array.forEach(funct ...

  4. 初始化、赋值、默认初始化、列表初始化、类内初始值、直接初始化与拷贝初始化

    文章目录 初始化和赋值的区别 什么是默认初始化? 列表初始化 列表初始化的使用场景 不适合使用列表初始化的场景 类内初始值 混用string对象和C风格字符串 数组与vector对象 关于vector ...

  5. python创建初始值列表_Python - 创建具有初始容量的列表

    简短版:使用 pre_allocated_list = [None] * size 预先分配一个列表(即,能够解决列表的'size'元素,而不是通过附加逐渐形成列表).即使在大型列表中,此操作也非常快 ...

  6. Python初始化空列表,空字典,空元组,空集合

    """ 一. Python 推导式的空初始化 1.Python的推导式没做类型的限制,只要是python合法的事物都能放进去 2.list 列表 元素可以重复,且有先后. ...

  7. Python如何创建相同值的数组/列表

    题目要求 现在有这样的一个需求:创建一个数组或列表,列表中的所有值是相同的. 解决方法 找到两种解决方法,第一种是使用Python的基础语法,第二种是借助numpy包提供的函数实现.分别为大家进行介绍 ...

  8. Python数据结构与算法(一)列表和元组

    本系列总结了python常用的数据结构和算法,以及一些编程实现. 参考书籍:<数据结构与算法 Python语言实现> [美]Michael T.Goodrich, Roberto Tama ...

  9. 【数据结构Python描述】手动实现一个list列表类并分析常用操作时间复杂度

    文章目录 一.使用动态数组实现列表 1. 动态数组概念引入 2. 验证列表实现策略 3. 动态数组算法实现 二.摊销法分析时间复杂度 1. 摊销法使用示例 2. 数组容量指数增长 3. 数组容量等差增 ...

最新文章

  1. 易经——第二卦 坤 坤为地 坤上坤下
  2. PHP中文处理工具函数的用法总结
  3. gparted在线扩分区大小
  4. vs窗体 oracle,VS2010连接oracle数据库的简单例子
  5. ICSharpCode.SharpZipLib 开源压缩库使用示例
  6. 一文了解GaussDB 200的产品架构、数据流程、组网方案、服务部署原则、企业级增强特性......
  7. 20分钟理解React Native For Android原理
  8. bootstrap java web_JavaWEB开发05_Bootstrap
  9. Github删除一个无用库
  10. 自动驾驶(五十八)---------自动驾驶2019年终盘点
  11. 单片机定时器TMOD与TCON详解!
  12. DRAM存储系统结构
  13. 网络推广行业拓客的10个经典方法
  14. java队列打印杨辉三角_数组打印杨辉三角与队列打印杨辉三角
  15. 牛客网 D-图图(广搜)
  16. python读取docx文件出错_Python:读取 .doc、.docx 两种 Word 文件简述及“Word 未能引发事件”错误...
  17. python dataframe比较两列是否完全相同
  18. hihocoder 1014
  19. egret白鹭eui.Image没有默认的实际宽高
  20. 10:有一门课不及格的学生

热门文章

  1. Google Tensorflow Webset
  2. OpenGL学习笔记:画点、直线和多边形(第二讲)
  3. 软硬计算机电缆的区别,电线也有软硬之分,两者有什么区别?
  4. java jsp网页计算器_JSP实现计算器功能(网页版)
  5. vue如何让一句代码只执行一次_lt;Vue 源码笔记系列4gt;异步更新队列与$nextTick...
  6. x86架构和arm架构_苹果Mac弃用英特尔芯片成真,ARM架构CPU真比X86香?
  7. python助教评分问题_【1414软工助教】单元测试 得分榜
  8. Android、Java泛型扫盲
  9. mysql并发插入死锁_MySQL: 并发replace into的死锁问题分析-阿里云开发者社区
  10. java设计模式之美_《设计模式之美》-笔记