前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 ><技巧>python模块性能测试以python列表的内置函数append和insert为例以python列表insert方法和append方法快速创建1至1000的列表为例:

<技巧>python模块性能测试以python列表的内置函数append和insert为例以python列表insert方法和append方法快速创建1至1000的列表为例:

作者头像
zhaoolee
发布2018-04-19 10:30:00
1.7K0
发布2018-04-19 10:30:00
举报
文章被收录于专栏:木子昭的博客木子昭的博客

算法是程序的灵魂,优秀的算法能给程序的效率带来极大的提升,而算法的优劣,往往要经过大量的测试. 在硬件环境基本不变的前提下,对算法实验的次数越多,测试算法运行效率的结果也就越接近真实值.

python内置的性能分析模块,可通过指定次数的反复测试,来对算法的运行时间进行累加,透过对比运行时间的长短,我们可以更直观的了解,不同算法之间的优劣.

以python列表的内置函数append和insert为例

python内置的性能测试方法timeit.Timer.timeit()可用于对程序片段的执行耗时进行计数

以python列表insert方法和append方法快速创建1至1000的列表为例:

执行100次

100次

执行1000次

1000次

执行10000次

10000次

insert与append执行10000次相差了1.6秒,在不影响需求的情况下,建议尽量使用append提升效率

源码:

代码语言:javascript
复制
import sys
import timeit


# 使用insert创建1~1000的数组

def insert_num():
    thousand_list1 = list()
    for i in range(1, 1001):
        thousand_list1.insert(len(thousand_list1), i)
    #print (thousand_list1)

# 使用append创建1~1000的数组
def append_num():
    thousand_list2 = list()
    for i in range(1, 1001):
        thousand_list2.append(i)
    #print("append_num",thousand_list2)

#使用列表生成式生成

def main():
    name, num = sys.argv
    num = int(num)
    in_obj = timeit.Timer("insert_num()","from __main__ import insert_num")
    print("使用insert方法往列表插入1至1000, 方法反复执行%d次共耗时:"%num,in_obj.timeit(number=num),"秒")

    in_obj = timeit.Timer("append_num()","from __main__ import append_num")
    print("使用append方法依次往列表插入1至1000,方法反复执行 %d次共耗时:"%num,in_obj.timeit(number=num),"秒")
if __name__ == "__main__":
    main()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.09.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 以python列表的内置函数append和insert为例
  • 以python列表insert方法和append方法快速创建1至1000的列表为例:
    • 执行100次
      • 执行1000次
        • 执行10000次
          • insert与append执行10000次相差了1.6秒,在不影响需求的情况下,建议尽量使用append提升效率
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档