1.列表
1)一般列表操作命令的復雜度(準確來說是函數的復雜度)
2)時間計算(timeit模塊和Timer對象)
要捕獲我們的每個函數執行所需的時間,我們將使用 Python 的 timeit 模塊。timeit 模塊旨在 允許 Python 開發人員通過在一致的環境中運行函數并使用盡可能相似的操作系統的時序機制 來進行跨平臺時序測量。 要使用 timeit,你需要創建一個 Timer 對象,其參數是兩個 Python 語句。第一個參數是一個 你想要執行時間的 Python 語句; 第二個參數是一個將運行一次以設置測試的語句。然后 timeit 模塊將計算執行語句所需的時間。默認情況下,timeit 將嘗試運行語句一百萬次。 當它完成列表 時,它返回時間作為表示總秒數的浮點值。由于它執行語句一百萬次,可以讀取結果作為執 行測試一次的微秒數。你還可以傳遞 timeit 一個參數名字為 number,允許你指定執行測試語 句的次數。以下顯示了運行我們的每個測試功能 1000 次需要多長時間。
#注:from __main__ import test1表示從當前環境導入test1函數到timeit環境中
t1 = Timer("test()","from __main__ import test")
print("contact" ,t1.timeit(number=1000),"ms")
#指定測試函數test的次數是1000次,返回的結果可以當成測試一次所需要的時間,單位為毫秒
3)知識點
#創建Timer對象
t1 = Timer("需要測試的函數",“從本地導入需要測試的函數”)
#使用timeit模塊對函數進行測試,測試為一千次,返回的是秒數,可以理解為測試一次的毫秒數。1s = 1000ms
print(t1.timeit(number = 1000))
4)列表操作及性能
創建列表(4種方式)
#方式一:拼接
def test1():l = []for i in range(100000):l = l + [i]#方式二:append()方法
def test2():l = []for i in range(1000000):l.append(i)#方式三:創建列表生成器
def test3():l = [i for i in range(1000000)]#方式四:構造包裝列表的函數
def test4():l = list(range(1000000))
上面的四種方法,其復雜程度依次減小,執行時間縮短