Python初始化列表
Python初始化列表
下面我们就来介绍在Python中初始化列表(我们创建大小为1000并使用零初始化的列表)的一些方法。
1)方法一:使用for循环和append()函数
arr = []
for i in range(1000):arr.append(0)
2)方法二:使用带计数器变量的while循环和append()
arr = []
i = 0
while(i<1000):arr.append(0)
3)方法三:使用列表推导(List Comprehension)
列表推导(List Comprehension) 是一种数学家用来实现众所周知标记集合的Python方式。它由方括号组成,包含一个表达式,后跟一个for子句,后面跟一个可选的if子句。
表达式可以是我们想要放入列表中的任何类型的对象;由于我们用零初始化列表,因此我们的表达式将只为0。
arr = [0 for i in range(1000)]
4)方法四:使用*运算符
运算符可以用作[object] * n,其中n是数组中元素的数目。
arr = [0]*1000
代码执行时间比较
下面我们来看看这四种方法的执行时间,看看那种方法更快。
示例:我们将计算每种方法在500次上初始化10000个元素的数组所花费的平均时间。
# 导入时间模块以计算时间
import time # 初始化列表以保存时间
forLoopTime = []
whileLoopTime = []
listComprehensionTime = []
starOperatorTime = [] # 重复此过程500次,并计算所用的平均时间。
for k in range(500): # 开始时间start = time.time() # 声明空列表a = [] # 执行for循环10000次for i in range(10000): a.append(0) # 停止时间stop = time.time() forLoopTime.append(stop-start) # 开始时间start = time.time() # 声明空列表a = [] i = 0# 执行while循环10000次while(i<10000): a.append(0) i+= 1stop = time.time() whileLoopTime.append(stop-start) # 开始时间start = time.time() # 使用列表推导(List Comprehension) 来初始化列表a = [0 for i in range(10000)] stop = time.time() listComprehensionTime.append(stop-start) # 开始时间start = time.time() # 使用*运算符a = [0]*10000 stop = time.time() starOperatorTime.append(stop-start) print("for循环所用的平均时间:" + str(sum(forLoopTime)/100)) print("while循环所用的平均时间:" + str(sum(whileLoopTime)/100)) print("列表推导所用的平均时间:" + str(sum(listComprehensionTime)/100)) print("* 运算符所用的平均时间: " + str(sum(starOperatorTime)/100))
输出结果
for循环所用的平均时间:0.008704814910888672
while循环所用的平均时间:0.0133302903175354
列表推导所用的平均时间:0.003199863433837891
* 运算符所用的平均时间: 0.00023694276809692382
注意:时间将根据执行此代码的平台而有所不同。这些时间仅用于研究这些初始化方法的相对性能。
● 可以看出,for和while循环所用时间几乎相同。
● 列表推导的性能比for和while循环要好得多,前者的速度要快3-5倍。当我们尝试创建1-1000的数字列表时,可以看到另一个这种差异的例子。使用列表推导比使用append()要好得多。
`a = [i ``for` `i in range(1,1001)]`
● 使用*运算符比其余方法更快,这是您应该初始化列表的方式
Python初始化列表相关推荐
- python空列表列表初始化_Python如何初始化列表?
Python是一种非常灵活的语言,可以通过多种方式执行单个任务,例如,可以通过多种方式执行初始化列表.下面本篇文章就来带大家了解几种Python初始化的方法,并比较一下这几种方法的效率,希望对大家有所 ...
- python怎么创建列表_用Python将一个列表分割成小列表的实例讲解 Python 如何创建一个带小数的列表...
python里有一个列表,列表里有几个小列表,小列表#冒泡排序:scoreList = [['a',98],['c',45],['b',70],['d',85],['h',85],['f',92],[ ...
- python中列表操作
2019独角兽企业重金招聘Python工程师标准>>> 目录: 1:序列操作 ------索引 ------分片 ------步长 ------序列运算 ...
- Python list 列表方法
Python List 方法 index() 方法 count()方法 append()方法 extend()方法 remove()方法 del()方法 pop()方法 reverse()方法 ins ...
- C++构造函数初始化列表与构造函数中的赋值的区别
转载 C++构造函数初始化列表与构造函数中的赋值的区别 2016-12-10 15:16:51 xingpacer 阅读数 10391更多 分类专栏: C++相关 查看全文 http://www.ta ...
- python有序列表无序列表区别_用Python链表实现有序表与无序表
用Python链表实现有序表与无序表 <数据结构与算法>MOOC(北大地空)课堂笔记 2020.4 by dlnb526 啥是链表 链表,顾名思义,顾名思义,链表像锁链一样,由一节节节点连 ...
- SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理
SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理 本文连接 简介 SIGIA_4P 网址 a. 课程OKR Objectives and ...
- Python 的列表运算和列表常用函数
Python 的列表运算和常用函数 1. 列表的运算 1.1 列表相加 1.2. 列表相乘 1.3. None.空列表和初始化 1.4. 列表的比较 1.5. 运算符 in 2. 列表的常用函数 1. ...
- Python创建列表
Python创建列表 前言 具体创建 批量创建 一维列表 二维列表 补充 前言 Python中一般由列表代替数组,列表也有一维列表和二维列表之分,本文介绍如何创建列表,创建方法分为具体创建和批量创建, ...
最新文章
- python小游戏代码大全-Python实现打砖块小游戏代码实例
- pat天梯赛L1-052. 2018我们要赢
- 枚举类型(C# 编程指南)
- linux 操作mysql 数据库命令_在Linux上用命令怎么连接数据库
- css 字符过长...
- Oracle迁移到MySQL性能下降的注意点
- 【读书笔记】金字塔原理-构建金字塔的层级关系
- QQ邮箱代收Gmail邮箱
- html_09网页超链接
- 面试系列-3 限流场景实践
- 项目管理-成熟度模型、量化项目管理
- 【项目10】python+flask搭建CNN在线识别手写中文网站
- python时间函数纳秒_在Python中以秒和纳秒获取POSIX / Unix时间?
- 女孩学医好还是学计算机好,女生选择学医好吗 学医有多累
- STVD生成HEX格式文件
- 微信小程序python解析获取用户手机号_微信小程序如何获取用户绑定手机号
- Stata基础(一)
- OpenCV 图像分块 分块图像合并
- Oracle客户端安装INS-30131
- 90后,是被逼创业的,大家觉得呢?
热门文章
- jq修改class_JQuery中怎么设置class
- windows开发的qt项目移植到linux平台
- 教室人数检测matlab代码,教室人数检测器.pdf
- Zend Guard loader 免费下载教程介绍大全
- jsp显示服务器域名,jsp获取服务器域名
- 公务员备考(十九) 申论
- java中关于购物车的面试,购物车的总价解决方案
- 计算机等级考试建议报考,全国计算机二级考试:科目报考建议
- 【unity基础_Day02】 Tranform组件及常见的API
- 废了九牛二虎之力阿里云备案通过了,为毛还是不能访问?还要我去备案??坑爹啊...