Python兩種列表翻轉方法的效率比較

2021-07-09 06:56:55 字數 1101 閱讀 4251

python兩種列表翻轉方法的效率比較

編寫乙個python程式,實現將一堆數字新增到乙個初始為空的列表中,然後翻轉該列表。

方法一:使用列表的reverse()方法實現:

方法二:使用列表的insert()方法實現:

nums2=

for i in range(count):

nums2.insert(0,i)

在本人的計算機上的實驗結果對比:

在本人的計算機上方法一所需要的時間是0.04543585712500385s,方法二所需要的時間是1.971661604352202s,方法二所需的時間大概是方法一的40倍。當我們將資料量增加10倍時,方法一所需時間是0.18828791136210368s,方法二所需時間是230.29416846730504s,方法二所需的時間大概是方法一的1220倍。資料量增加十倍,方法一所需時間大概增加五倍,而方法二所需時間大概增加115倍!隨著資料規模的擴大,方法一和方法二的效率差距將越來越大。

附:計算python程式執行時間的三種方法

方法一:

import datetime

starttime = datetime.datetime.now()

#long running

endtime = datetime.datetime.now()

print( (endtime - starttime).seconds)

方法二:

import time

start = time.time()

run_fun()

end = time.time()

print (end-start)

方法三:

import time

start = time.clock()

run_fun()

end = time.clock()

print (end-start)

方法一和方法二都包含了其他程式使用cpu的時間,是程式開始到程式結束的執行時間。

方法三算只計算了程式執行的cpu時間

Python的兩種繼承方法

class animal 經典類 class animal object 新式類 def init self,name self.name name def eat self,foot print can eat foot class relation object def make friends...

python 字典值儲存列表的兩種方式

示例構建了列表相同值的索引的字典鍵值對,0,1,2,3,4,6這些索引的值都是3,5索引值是1,分別作為字典的鍵和值 方法一 dict.setdefault key,default none 如果字典中包含有給定鍵,則返回該鍵對應的值,否則返回為該鍵設定的值。sample 3,3,3,3,3,1,3...

兩種attach to process的方法

背景 今天在做keepalive的實驗,設法模擬keepalive不成功的場景,從而達到 the local tcp will keep sending keep alive packet in an interval of keepaliveinterval for tcpmaxdataretra...