Fast Python list exclusion, intersection and union

剛剛跟學長討論到怎樣快速的作 Python list 的 intersection 以及 union. 當然直接用雙層 for-loop 的作法是很直覺, 但是相對來說就會需要 M x N 的 performance cost, 希望在利用 Python 本身語法跟資料結構的特性下, 可以有更容易的作法.

我是想到了用 dictionary 的 key 來紀錄的作法, 同時間也找到這個 mailing list 紀錄也說明了類似的作法, 就從他的範例稍作修改成為以下這樣 :


基本上就是利用 dictionary 的 key 不會重複的特性省掉一些麻煩. 不過嚴格來說這樣也可能還是 M x N 就是了.

1 意見:

Cox 提到...

是阿. 用 dict 的方式並沒有比較快. 而且, 我實際跑比較大的 case 的時候, 發覺 dict 的結果還相對慢了一些. @@"

Designed by Posicionamiento Web | Modified by seLain | Bloggerized by GosuBlogger | Blue Business Blogger