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...