Re: [問題] List擴編的處理速度...

看板Python作者 (sbr)時間15年前 (2009/04/25 15:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/9 (看更多)
※ 引述《leondemon (狗狗)》之銘言: : 測試出來的時間會有差異 : 我實際用做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的方式呢?有其他時機會用上嗎? aList = aList + [i] 並不是一種擴編 list 的語意,而是:建立一個新的 list 使其內容等同兩個 list 合併新建立的 list assign 到 name aList(原先 aList 持有的 list object 讓他遺失)。 如果你考慮到 anotherList = aList + [i],你就不會執著於為什麼要讓人可以這樣 寫:aList = aList + [i],明明他就比 aList += [i] 慢很多。你把語意侷限在一個 小的範圍內,然後去質疑之(類似明明就可以 87*100 為什麼要容許 87+87+87...+87 ),並不妥當。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.134.233
文章代碼(AID): #19yhm5Wc (Python)
討論串 (同標題文章)
文章代碼(AID): #19yhm5Wc (Python)