栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python Timer模块、list、dict、set内置操作复杂度

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python Timer模块、list、dict、set内置操作复杂度

Python数据结构
  • timeit.Timer
  • list
  • dict
  • set

程序 = 数据结构 + 算法
抽象数据类型(ADT)的含义是指一个数学模型以及定义在此数学模型上的一组操作。引入抽象数据类型的目的是把数据类型的表示和运算的实现与这些数据类型和运算在程序中的引用隔开,使它们相互独立。

O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

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

Timer测量小段代码执行速度的类。
stmt测试的代码语句(statment);
setup运行代码时需要的设置;
timer一个定时器函数,与平台有关。

timeit.Timer.timeit(number=1000000)

Timer类中测试语句执行速度的对象方法。number参数是测试代码时的测试次数,默认为1000000(一百万)次。方法返回执行代码的平均耗时(float类型秒数)。

def test1():
   l = []
   for i in range(1000):
      l = l + [i]
def test2():
   l = []
   for i in range(1000):
      l.append(i)
def test3():
   l = [i for i in range(1000)]
def test4():
   l = list(range(1000))

from timeit import Timer

t1 = Timer("test1()", "from __main__ import test1")
print("concat ",t1.timeit(number=1000), "seconds")
t2 = Timer("test2()", "from __main__ import test2")
print("append ",t2.timeit(number=1000), "seconds")
t3 = Timer("test3()", "from __main__ import test3")
print("comprehension ",t3.timeit(number=1000), "seconds")
t4 = Timer("test4()", "from __main__ import test4")
print("list range ",t4.timeit(number=1000), "seconds")

# ('concat ', 1.7890608310699463, 'seconds')
# ('append ', 0.13796091079711914, 'seconds')
# ('comprehension ', 0.05671119689941406, 'seconds')
# ('list range ', 0.014147043228149414, 'seconds')
list

dict

set

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号