用 timeit.Timer.timeit() 方法來測試代碼的運作時間:
fromtimeit import Timer
def t1():
li=[]for i in range(10000):
li.append(i)
def t2():
li=[]for i in range(10000):
li.insert(0, i)
T1= Timer("t1()", "from __main__ import t1")
print("append:", T1.timeit(1000))
T2= Timer("t2()", "from __main__ import t2")
print("insert(0):", T2.timeit(1000))
測試一下append 和 insert 哪一個效率更高, 執行個體化Timer類時,第一個參數 是字元串類型,表示的是執行函數的語句.
第二個參數是設定,需要 從目前子產品導入一個測試函數. 因為并不是在這個檔案中執行的.
調用 timeit() 方法時傳入的參數 1000 指的是測試次數, 即測試函數1000次.
結果:
>>>append: 1.1107756999126404insert(0): 20.437914913455618
append 比 insert 高出許多,因為insert(0, i) 表示從清單開始插入.
