最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python內(nèi)置類型性能分析過(guò)程實(shí)例

 更新時(shí)間:2020年01月29日 12:41:57   作者:LiuYanYGZ  
這篇文章主要介紹了Python內(nèi)置類型性能分析過(guò)程實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Python內(nèi)置類型性能分析過(guò)程實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

timeit模塊

timeit模塊可以用來(lái)測(cè)試一小段Python代碼的執(zhí)行速度。

Timer是測(cè)量小段代碼執(zhí)行速度的類。

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

  • stmt參數(shù)是要測(cè)試的代碼語(yǔ)句(statment);
  • setup參數(shù)是運(yùn)行代碼時(shí)需要的設(shè)置;
  • timer參數(shù)是一個(gè)定時(shí)器函數(shù),與平臺(tái)有關(guān)。

Timer對(duì)象.timeit(number=1000000)

Timer類中測(cè)試語(yǔ)句執(zhí)行速度的對(duì)象方法。number參數(shù)是測(cè)試代碼時(shí)的測(cè)試次數(shù),默認(rèn)為1000000次。方法返回執(zhí)行代碼的平均耗時(shí),一個(gè)float類型的秒數(shù)。

list的操作測(cè)試

# -*- coding:utf-8 -*-

import timeit

def t2():
  li = []
  for i in range(10000):
    li.insert(0, i)

def t0():
  li = []
  for i in range(10000):
    li.extend([i])

def t1():
  li = []
  for i in range(10000):
    li.append(i)

def t3():
  li = []
  for i in range(10000):
    li += [i]

def t3_1():
  li = []
  for i in range(10000):
    li = li + [i]

def t4():
  li = [ i for i in range(10000)]

def t5():
  li = list(range(10000))


timer2 = timeit.Timer(stmt="t2()", setup="from __main__ import t2")
print("insert", timer2.timeit(number=1000), "seconds")

timer0 = timeit.Timer(stmt="t0()", setup="from __main__ import t0")
print("extend", timer0.timeit(number=1000), "seconds")

timer1 = timeit.Timer(stmt="t1()", setup="from __main__ import t1")
print("append", timer1.timeit(number=1000), "seconds")

timer3 = timeit.Timer(stmt="t3()", setup="from __main__ import t3")
print("+=", timer3.timeit(number=1000), "seconds")

timer3_1 = timeit.Timer(stmt="t3_1()", setup="from __main__ import t3_1")
print("+加法", timer3_1.timeit(number=1000), "seconds")

timer4 = timeit.Timer(stmt="t4()", setup="from __main__ import t4")
print("[i for i in range()]", timer4.timeit(number=1000), "seconds")

timer5 = timeit.Timer(stmt="t5()", setup="from __main__ import t5")
print("list", timer5.timeit(number=1000), "seconds")
執(zhí)行結(jié)果:

insert 18.678989517 seconds
extend 1.022223395000001 seconds
append 0.6755100029999994 seconds
+= 0.773258104 seconds
+加法 126.929554195 seconds
[i for i in range()] 0.36483252799999377 seconds
list 0.19607099800001038 seconds

pop操作測(cè)試

x = range(2000000)
pop_zero = Timer("x.pop(0)","from __main__ import x")
print("pop_zero ",pop_zero.timeit(number=1000), "seconds")

x = range(2000000)
pop_end = Timer("x.pop()","from __main__ import x")
print("pop_end ",pop_end.timeit(number=1000), "seconds")

# ('pop_zero ', 1.9101738929748535, 'seconds')
# ('pop_end ', 0.00023603439331054688, 'seconds')

測(cè)試pop操作:從結(jié)果可以看出,"pop最后一個(gè)元素"的效率遠(yuǎn)遠(yuǎn)高于"pop第一個(gè)元素"

可以自行嘗試下list的append(value)和insert(0,value),即一個(gè)后面插入和一個(gè)前面插入???

list內(nèi)置操作的時(shí)間復(fù)雜度

dict內(nèi)置操作的時(shí)間復(fù)雜度

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于python編寫(xiě)監(jiān)控系統(tǒng)各項(xiàng)資源的腳本

    基于python編寫(xiě)監(jiān)控系統(tǒng)各項(xiàng)資源的腳本

    這篇文章主要為大家詳細(xì)介紹了如何編寫(xiě)一個(gè)python腳本,實(shí)現(xiàn)監(jiān)控網(wǎng)絡(luò)的流量、CPU使用率、內(nèi)存使用率和磁盤(pán)使用情況,感興趣的小伙伴可以了解下
    2023-11-11
  • python模擬練習(xí)題總結(jié)(附答案)

    python模擬練習(xí)題總結(jié)(附答案)

    這篇文章主要給大家介紹了關(guān)于python模擬練習(xí)題的相關(guān)資料,文中涉及質(zhì)因數(shù)分解、開(kāi)根變換、立方體拼接、日期計(jì)算、按位異或、停車場(chǎng)收費(fèi)、整數(shù)操作、減法運(yùn)算、相鄰數(shù)之和、以及最長(zhǎng)勾子序列的尋找,每題都有具體的輸入輸出示例和代碼計(jì)算過(guò)程,需要的朋友可以參考下
    2024-11-11
  • 幾款Python編譯器比較與推薦(小結(jié))

    幾款Python編譯器比較與推薦(小結(jié))

    這篇文章主要介紹了幾款Python編譯器比較與推薦(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 如何解決Python:報(bào)錯(cuò)[Errno 2]No such file or directory問(wèn)題

    如何解決Python:報(bào)錯(cuò)[Errno 2]No such file or&nb

    介紹了Python文件讀取操作時(shí)常見(jiàn)的錯(cuò)誤原因及解決方法,主要錯(cuò)誤原因包括路徑拼寫(xiě)錯(cuò)誤、工作目錄與相對(duì)路徑不匹配以及文件不存在,解決方法有使用絕對(duì)路徑和動(dòng)態(tài)獲取腳本路徑,其他注意事項(xiàng)包括驗(yàn)證文件路徑與名稱、理解工作目錄與相對(duì)路徑
    2025-02-02
  • python實(shí)現(xiàn)對(duì)文件進(jìn)行MD5校驗(yàn)

    python實(shí)現(xiàn)對(duì)文件進(jìn)行MD5校驗(yàn)

    這篇文章主要為大家詳細(xì)介紹了如何使用python對(duì)文件進(jìn)行MD5校驗(yàn)并比對(duì)文件重復(fù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • 簡(jiǎn)單介紹Python中用于求最小值的min()方法

    簡(jiǎn)單介紹Python中用于求最小值的min()方法

    這篇文章主要介紹了簡(jiǎn)單介紹Python中用于求最小值的min()方法,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python不換行之end=與逗號(hào)的意思及用途

    python不換行之end=與逗號(hào)的意思及用途

    在python中我們偶爾會(huì)用到輸出不換行的效果,python2中使用逗號(hào),即可,而python3中使用end=''來(lái)實(shí)現(xiàn)的,這里簡(jiǎn)單為大家介紹一下,需要的朋友可以參考下
    2017-11-11
  • python openpyxl提取Excel圖片實(shí)現(xiàn)原理技巧

    python openpyxl提取Excel圖片實(shí)現(xiàn)原理技巧

    在這篇文章中,將介紹如何使用openpyxl來(lái)提取Excel中的圖片,以及它的原理和技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 基于 Django 的手機(jī)管理系統(tǒng)實(shí)現(xiàn)過(guò)程詳解

    基于 Django 的手機(jī)管理系統(tǒng)實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了基于 Django 的手機(jī)管理系統(tǒng)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python 浮點(diǎn)數(shù)四舍五入需要注意的地方

    python 浮點(diǎn)數(shù)四舍五入需要注意的地方

    這篇文章主要介紹了python 四舍五入需要注意的地方,幫助大家避免一些不必要的坑,感興趣的朋友可以了解下
    2020-08-08

最新評(píng)論

会昌县| 孟村| 满洲里市| 颍上县| 缙云县| 子长县| 新津县| 康定县| 焦作市| 德兴市| 佛山市| 张北县| 夏河县| 贵州省| 兴业县| 平阳县| 昌江| 金平| 敦煌市| 临潭县| 沁源县| 若羌县| 济阳县| 济南市| 唐山市| 广汉市| 成都市| 望江县| 宁河县| 榆中县| 平南县| 得荣县| 沅江市| 宜宾县| 平罗县| 赞皇县| 大石桥市| 云霄县| 云霄县| 河源市| 吴旗县|