Re: [問題] List擴編的處理速度...
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 9 篇):