Python几种创建list的方法的效率对比
2024-10-15 17:05:06
我们用 生成一个0到((1万倍n)-1)的list做例子
首先这种方式复杂度为平方级
'''
def test1(n):
lst = []
for i in range(n*10000):
lst = lst + [i]
return lst
'''
如n=5,平均运行花费3秒2;
如果n=10的话,平均运行花费飙到14秒9;
是因为复制一个长度为n的list,本身的复杂度就是线性级的了。
###############################################################
接下来这几种,时间复杂度都是线性级的
‘’‘
def test2(n):
lst = []
for i in range(n*10000):
lst.append(i)
return lst
def test3(n):
return [i for i in range(n*10000)]
def test4(n):
return list(range(n*10000))
’‘’
我们来对比一下,到底哪个快
测试后可以发现,直接用系统list方法是最快的,然后是列表推导,用list类的append方法排后。
头条号 PythonChan
最新文章
- 不能用con作为类名
- 如何理解和熟练使用JS 中的call apply
- Clone table header and set as the first element, and replace header's th with td
- WPF设置窗口模式(Windowstyle=“None”)
- 2013第39周一Web打印
- java poi 导出excel
- ajax——client访问webservice基本用法
- Call an activity method from a fragment
- tableView等滚动视图滚动时收缩上下导航栏与标签栏
- 利用dfs解决规定路程问题
- vscode创建net core控制台程序
- CSS3_文本样式
- python如何使用request爬取图片
- Yii2 Restful api创建
- system 系统调用、gcc编译过程
- RabbitMQ笔记四:Binding,Queue,Message概念
- echar生成雷达图
- selenium java-3 定位元素的八种方法
- 产生渐变色的view
- Struts 2 Tutorial
热门文章
- CodeForces 592B
- Velocity常用方法
- [Locked] Find the Celebrity
- 《ACM国际大学生程序设计竞赛题解I》——6.10
- Wow! Such Doge! - HDU 4847 (水题)
- hive 显示表分区真实对应数据路径
- Git push本地代码到新建远程仓库
- Struts2.xml中result type属性说明
- android.view.WindowLeaked解决办法
- PHP安全编程:更优的会话数据安全 更好地防范session暴露(转)