python列表大小有限度么_Python列表操作的时间复杂度比较

会用到的python模块:timeit

timeit模块:准确测量小段代码的执行时间

timeit模块中有三个函数,理解一个常用的计时器函数就好了:

timeit.Timer(stmt='pass',setup='pass',timer=)

stmt:是指需要测量的语句或者函数

setup:是初始化代码或构建环境的导入语句

timer:是计时函数不用管它,与平台有关

timeit.Timer.timeit(number = 1000000)

默认是10000000

列表生成方法:

from timeit import Timer

# 加法

def t1():

list1 = []

for i in range(1000):

list1 = list1 + [i]

# append

def t2():

list2 = []

for i in range(1000):

list2.append(i)

# 列表生成器

def t3():

list3 = [i for i in range(1000)]

# list方法

def t4():

list4 = list(range(1000))

timer1 = Timer(stmt='t1()',setup='from __main__ import t1')

timer1.timeit(1000)

print('+ method:',timer1.timeit(1000))

timer2 = Timer(stmt='t2()',setup='from __main__ import t2')

timer2.timeit(1000)

print('append method:',timer2.timeit(1000))

timer3 = Timer(stmt='t3()',setup='from __main__ import t3')

timer3.timeit(1000)

print('列表生成器 method',timer3.timeit(1000))

timer4 = Timer(stmt='t4()',setup='from __main__ import t4')

timer4.timeit(1000)

print('直接list:',timer4.timeit(1000))

直接用list方法效率最高,列表生成器其次,append再次,列表相加效率较低。

append效率比insert高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值