2012-08-30 52 views

回答

42

你可以使用一組:

b_set = set(map(tuple,a)) #need to convert the inner lists to tuples so they are hashable 
b = map(list,b_set) #Now convert tuples back into lists (maybe unnecessary?) 

或者,如果你喜歡列表理解/發電機:

b_set = set(tuple(x) for x in a) 
b = [ list(x) for x in b_set ] 

最後,如果順序很重要,你可以隨時分類b:

b.sort(key = lambda x: a.index(x)) 
+0

如果你想要某些東西是唯一的,那麼一套是要走的路。 :) – mgilson

+0

Thnak你,這正是我想要的。 – user1507156

8

如果列表的順序不重要,請參閱mgilson的答案。如果您想保留訂單,請執行如下操作:

b = list() 
for sublist in a: 
    if sublist not in b: 
     b.append(sublist) 

這會將訂單保留在原始列表中。但是,它比使用集合更慢,更冗長。

+0

也謝謝你,你的方法很有趣,但我不需要保持順序。 – user1507156