您好,登錄后才能下訂單哦!
小編給大家分享一下時(shí)間測量模塊timeit的用法是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!
1.timeit模塊
timeit模塊可以用來測試一小段python代碼的執(zhí)行速度
class timeit.Timer(stmt = 'pass',setup = 'pass',timer=<timer function>)
timeit.timer(number = 10000)
Timer類中測試語句執(zhí)行速度的對(duì)象方法。number參數(shù)是測試代碼時(shí)的測試次數(shù),默認(rèn)為1000000(一百萬)次。
該方法返回執(zhí)行代碼的平均耗時(shí),是一個(gè)float類型的seconds。
2.使用timeit模塊對(duì)python中l(wèi)ist內(nèi)置操作的時(shí)間復(fù)雜度測算
3.測算代碼塊:
#下面列出list的幾種常用內(nèi)置方法以及l(fā)ist的幾種構(gòu)建方法 #coding:utf-8 #導(dǎo)入timeit模塊 import timeit #t1,以+的方式構(gòu)建列表 ''' li1 = [1,2] li2 = [23,24] li = li1 + li2 #t2,列表生成器 li = [i for i in range(10000)] #t3,將可迭代對(duì)象(range)直接轉(zhuǎn)換成列表 li = list(range(10000)) #t4,先創(chuàng)建一個(gè)空列表,然后用.append方法添加元素 li = [] for i in range(10000): li.append(i) ''' #下面開始測算 #append方法對(duì)空列表添加元素構(gòu)造列表 def t1(): li = [] for i in range(10000): li.append(i) #+的方法構(gòu)造列表 def t2(): li = [] for i in range(10000): li += [i] #列表生成器 def t3(): li = [i for i in range(10000)] #轉(zhuǎn)換可迭代對(duì)象為列表 def t4(): li = list(range(10000)) timer1 = timeit.Timer('t1()','from __main__ import t1') print('+:',timer1.timeit(1000)) timer2 = timeit.Timer('t2()','from __main__ import t2') print('append:',timer2.timeit(1000)) timer3 = timeit.Timer('t3()','from __main__ import t3') print('列表生成器:',timer3.timeit(1000)) timer4 = timeit.Timer('t4','from __main__ import t4') print('直接轉(zhuǎn)換可迭代對(duì)象:',timer4.timeit(1000))
4.運(yùn)行結(jié)果
+: 0.7415732243125414
append: 0.7872105163322995
列表生成器: 0.3843147415048551
直接轉(zhuǎn)換可迭代對(duì)象: 1.3879485965428984e-05
[Finished in 2.0s]
看完了這篇文章,相信你對(duì)時(shí)間測量模塊timeit的用法是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。