Re: [問題] List擴編的處理速度...
比較兩個將原list copy出來後 再擴編時的速度
也就是純粹比較
y = x[:]
y.append(i)
和
y = x + [i]
這兩個速度的不同...
code如下
========
from time import time
a = 30000
b = 30000
x = range(a)
y=[]
c=0
A=time()
for i in xrange(b):
y = x[:] #測試方法一 先複製 (不能用y = x)
y.append(i) #測試方法一 再append
c+=1
print time()-A, c, len(y) #呈現"運作時間",操作次數,是否有成功擴建list
if y is x: #測試y和x是不是同一物件
print "True"
else:
print "False"
x=range(a)
y=[]
c=0
A=time()
for i in xrange(b):
y = x + [i] #測試方法二
c+=1
print time()-A, c, len(y)
if y is x:
print "True"
else:
print "False"
==========
結果:
7.98008298874 30000 30001
False
8.92190909386 30000 30001
False
先複製list之後再append 比直接+=快...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.59.68
→
04/25 02:07, , 1F
04/25 02:07, 1F
※ 編輯: leondemon 來自: 140.129.59.68 (04/25 04:01)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 9 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章