[問題] 刪除List中重複的的instance

看板Python作者 (Arim5566)時間13年前 (2012/10/01 22:23), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串1/1
各位版友好 假如我現在有一個 class Point: def __init__(self,x,y): self.x=x self.y=y l=[] a=Point(0,0) b=Point(5,5) c=Point(0,0) l.append(a).append(b).append(c) 由於c跟a是重複的,所以我不想要它加入List(或者是說我想把它從List中去掉) 我有在網路上面查到可以先把List轉成set 可是不知道如何把set用在Instance上? 另外想請教一下 如果我有一個List 我想每次append的時候都會排序(根據我自己定義的cmp,很像c++的map跟set中的insert) 請問可以做的到嗎? 謝謝各位版友指教 -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.238.80.6 ※ 編輯: Arim 來自: 36.238.80.6 (10/01 22:26)

10/01 22:32, , 1F
1. 要implement __hash__和(__eq__/__cmp__選一)
10/01 22:32, 1F

10/01 22:34, , 2F
10/01 22:34, 2F

10/02 21:36, , 3F
你是ac都不想要還是ac只要一個?
10/02 21:36, 3F
ac只要一個 不過我現在改成先用set去存 之後在用for迴圈把set轉成list(因為我必須要有index去存取element,所以需要list) 不過這也得花O(n)的時間 不知道有沒有比較快的作法? ※ 編輯: Arim 來自: 140.117.169.131 (10/04 13:24) ※ 編輯: Arim 來自: 140.117.169.131 (10/04 13:24)
文章代碼(AID): #1GQQTMvG (Python)
文章代碼(AID): #1GQQTMvG (Python)