作者Arim (Arim5566)
看板Python
标题[问题] 删除List中重复的的instance
时间Mon Oct 1 22:23:12 2012
各位版友好
假如我现在有一个
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)
1F:推 ckclark:1. 要implement __hash__和(__eq__/__cmp__选一) 10/01 22:32
3F:推 cobrasgo:你是ac都不想要还是ac只要一个? 10/02 21:36
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)