博客园  :: 首页  :: 管理

关于python列表的insert和append方法的执行效率对比

Posted on 2022-12-31 15:10  520_1351  阅读(531)  评论(0编辑  收藏  举报

关于python中insert可以在指定的索引前插入元素,也即是插入的元素的索引即为指定的索引

而append方法,是指的在列表的末尾处添加/追加一个元素

 

两种方法都是为列表新增加了一个元素对象,但两者的效率谁更快一些呢,我们可以通过简单的代码进行比较,创建py文件insertvsappend.py

import datetime

listA=[1,2,3]
startTime = datetime.datetime.now()
for i in range(0,100000):
    listA.insert(0,'a')

endTime = datetime.datetime.now()
print('Time spent by insert',endTime-startTime)

listB=[1,2,3]
startTime = datetime.datetime.now()
for i in range(0,100000):
    listA.append('a')

endTime = datetime.datetime.now()
print('Time spent by append',endTime-startTime)

运行结果如下,可以看到的2秒的差距了,很明显append效率要快一些:

[qq5201351@localhost ~]$ python3 insertVSappend.py
Time spent by insert 0:00:02.422428
Time spent by append 0:00:00.015790
[awsadm@ip-172-18-88-170 ~]$

当然因为上面的的次数是10万,可能差距不大,如果我们将此数调整到50万,100万,就能看到巨大的差距

再以50万作一个比较、最后执行结果如下,54秒的差距了(两次运行笔者使用的机器配置为4核16G的配置):

Time spent by insert 0:00:54.051870
Time spent by append 0:00:00.047789

最后总结一下,在对列表操作时,如果元素个数不多,使用insert与append没有太多在差距

如果元素数据太多时,肯定还是append的效率更快一些~

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17016698.html