Python两种列表翻转方法的效率比较

本文通过实验对比了两种Python列表翻转方法的效率:使用reverse()方法与使用insert()方法。结果显示,随着数据量的增加,使用reverse()方法比使用insert()方法更加高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python两种列表翻转方法的效率比较

编写一个Python程序,实现将一堆数字添加到一个初始为空的列表中,然后翻转该列表。

方法一:使用列表的reverse()方法实现:

count=10**5
nums1=[]
for i in range(count):
    nums1.append(i)
nums1.reverse()

        方法二:使用列表的insert()方法实现:

nums2=[]
for i in range(count):
    nums2.insert(0,i)

在本人的计算机上的实验结果对比:

在本人的计算机上方法一所需要的时间是0.04543585712500385s,方法二所需要的时间是1.971661604352202s,方法二所需的时间大概是方法一的40倍。当我们将数据量增加10倍时,方法一所需时间是0.18828791136210368s,方法二所需时间是230.29416846730504s,方法二所需的时间大概是方法一的1220倍。数据量增加十倍,方法一所需时间大概增加五倍,而方法二所需时间大概增加115倍!随着数据规模的扩大,方法一和方法二的效率差距将越来越大。


附:计算Python程序执行时间的三种方法

方法一:
import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print( (endtime - starttime).seconds)

方法二:
import time
start = time.time()
run_fun()
end = time.time()
print (end-start)
方法三:
import time
start = time.clock()
run_fun()
end = time.clock()
print (end-start)
方法一和方法二都包含了其他程序使用CPU的时间,是程序开始到程序结束的运行时间。
方法三算只计算了程序运行的CPU时间



#Python中翻转同一个列表的两种方法的比较


import time
#方法一:
#reverse()函数实现
starttime1=time.clock()
count=10**6
nums1=[]
for i in range(count):
    nums1.append(i)
nums1.reverse()
endtime1=time.clock()
print(endtime1-starttime1)


#方法二:
#insert()函数实现
starttime2=time.clock()
nums2=[]
for i in range(count):
    nums2.insert(0,i)
endtime2=time.clock()
print(endtime2-starttime2)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值