[問題] List擴編的處理速度...
如果要針對一個list去增加內容時
code如下:
=======
from time import time
def cal(x):
list = []
start = time()
for i in xrange(x):
list.append(i) #Line 6:可修改的一行
end = time()
print end-start, len(list)
x = int(raw_input("enter a number:"))
cal(x)
=======
如果修改line 6為「list += [i]」 或「list = list + [i]」
測試出來的時間會有差異
我實際用做1000000次去測試list擴編的速度
使用 list.append(i) 約為0.24秒
使用 list += [i] 約為0.35秒
使用 list = list + [i] 約為49.7秒
很明顯的list = list + [i]的速度慢很多
"There should be one-- and preferably only one --obvious way to do it."
既然如此 為何Python還要允許存在這種擴編list的方式呢?有其他時機會用上嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.59.68
→
04/24 07:23, , 1F
04/24 07:23, 1F
→
04/24 07:24, , 2F
04/24 07:24, 2F
→
04/25 00:21, , 3F
04/25 00:21, 3F
推
04/25 00:44, , 4F
04/25 00:44, 4F
→
05/06 21:13, , 5F
05/06 21:13, 5F
→
05/06 21:15, , 6F
05/06 21:15, 6F
→
05/07 00:06, , 7F
05/07 00:06, 7F
→
05/07 00:15, , 8F
05/07 00:15, 8F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 9 篇):